[英]Compare Array key value with the given name
嗨,我正在与循环一些数组操作。
我想将数组键值与给定名称进行比较。
但是我无法获得确切的输出。
这是我的数组:
Array
(
[0] => Array
(
[label] =>
[value] =>
)
[1] => Array
(
[label] => 3M
[value] => 76
)
[2] => Array
(
[label] => Test
[value] => 4
)
[3] => Array
(
[label] => Test1
[value] => 5
)
[4] => Array
(
[label] => Test2
[value] => 6
)
)
这是我需要比较的$test_name = "Test2";
: $test_name = "Test2";
下面我尝试过的代码:
$details // getting array in this varriable
if($details['label'] == $test_name)
{
return $test_name;
}
else
{
return "NotFound";
}
但是每次它返回NotFound。
没有得到什么确切的问题。
@Manthan Dave尝试使用array_column和in_array()如下所示:
<?php
if(in_array($test_name, array_column($details, "label"))){
return $test_name;
}
else
{
return "NotFound";
}
$details
是一个多维数组,但是您试图像简单数组一样访问它。
您也需要遍历它:
foreach ($details as $item) {
if($item['label'] == $test_name)
{
return $test_name;
}
else
{
return "NotFound";
}
}
我希望您的数组永远不能包含标签NotFound
... :)
您可以在下面的数组中尝试使用数组,
if($details[4]['label'] == $test_name)
{
return $test_name;
}
else
{
return "NotFound";
}
虽然foreach循环应该可以,但如果不能尝试,
for($i=0; $i<count($details); $i++){
if($details[$i]['label'] == $test_name)
{
return $test_name;
}
else
{
return "NotFound";
}
}
只使用in_array
和array_column
而不使用foreach
循环作为
if (in_array($test_name,array_column($details, 'label')))
{
return $test_name;
}
else
{
return "NotFound";
}
您只需要检查以下if条件,因为else第一次满足时将返回“ notfound”,然后将不执行。
$result = 'NotFound';
foreach ($details as $item) {
if($item['label'] == $test_name)
{
$result = $test_name;
}
}
return $result;
要么
$result = 'NotFound';
if (in_array($test_name,array_column($details, 'label')))
{
$result = $test_name;
}
return $result;
这样遍历数组,
array_walk($array, function($v) use($test_name){echo $v['label'] == $test_name ? $test_name : "NotFound";});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.