簡體   English   中英

如何檢查 php 中是否存在鍵/值對?

[英]How can I check if a key/value pair exists in php?

我得到了每個運動員的學校名單。 如果一個運動員在對象中的狀態為committed: true ,我只想顯示那個學校。 否則,我想返回所有屬性。

這是我的數據的樣子:

...
"offers": [
    {
        "school": "Foo School",
        "committed": true
      },
      {
        "school": "Bar School",
        "committed": false
      }
    ]
...

在上面的例子中,我只想顯示“Foo School”。 但是如果兩個committed屬性都是false我想顯示“Foo Schoo”“Bar School”。

這是我目前擁有的,但無論如何都會返回。

foreach ($object['athlete']['offers'] as $offer) {
    if (isset($offer['committed']) && $offer['committed'] == 1) {
       // return single school
    } else {
       // push into array & return?
    }
}

感謝您的任何建議!

我想這就是你要找的,如果我錯了,請糾正我。 如果所有這些都是假的,那么它返回所有。 如果一個或多個為真,則返回第一個為真的:

<?php

$offers = array(
    array("school" => "Foo School",
    "committed" => true
  ),
  array(
    "school" => "Bar School",
    "committed" => false
  ));

$fullReturn = "";
$flag = false;
foreach ($offers as $offer) {
    if (isset($offer['committed']) && $offer['committed']) {
       echo $offer['school'];
       $flag = true;
       break;
    } else {
       $fullReturn .= $offer['school'] . "<br />";
    }
}

if (!$flag) {
    echo $fullReturn;
}

?>

如果您有兩個數組並且您想檢查 $haystack 數組是否具有最小 $needle 數組的元素並且它們匹配與否,那么您可以使用該函數

    function array_match($needle, $haystack){
        $haystack =  (array) $haystack;
        $needle =  (array) $needle;
        foreach ($needle as $key => $value) {
            if( trim($value) != trim($haystack[$key]) ){
                return false;
            }
        }
        return true;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM