如何检查变量是否在数组中然后使其等于该数组中的某些内容

时间:2017-10-14 05:13:06

标签: php arrays

如果我有一个类似的数组:

[{"tierId":0,"tierName":"Blue"},{"tierId":1,"tierName":"Green"}]

如何检查我的变量= tierName以及它是否等于tierId。因此,如果我的变量是Green,我希望相同的变量等于1。我试过了:

$parsed = (array) json_decode($body->getContents()); 
if (in_array($start, $parsed)){
        $start == $parsed['tierId'];
    }

2 个答案:

答案 0 :(得分:1)

如果要查找与变量匹配的键,可以使用此array_key_exists()函数。如下所示

<?php
$search_array = array('first' => 1, 'second' => 4);
if (array_key_exists('first', $search_array)) {
echo "The 'first' element is in the array";
}
?>

一旦键与您的变量匹配,您还可以检查它是否与该数组键的值匹配。

另外,如果要查找变量是否存在于数组中。你可以使用这个in_array()函数。

<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
echo "Got Irix";
}

希望这可以帮助您找到解决方案。

答案 1 :(得分:0)

没有内置函数可以像这样搜索二维数组,你必须编写一个循环。

$parsed = json_decode($body->getContents(), true); // true makes it return arrays instead of objects
foreach ($parsed as $item) {
    if ($item['tierName' == $start) {
        $start = $item['tierId'];
        break;
    }
}