我的英语非常抱歉。
我有一个数组:
Array ( [name] => Array
(
[0] => Sorry the name is missing!
[1] => Sorry the name is to short!
)
)
现在我想用in_array测试例如“name”。
if (in_array("name", $false["name"])) {
echo "the array keys";
}
但它没有工作。安妮可以帮帮我吗?非常感谢。
答案 0 :(得分:10)
尝试array_key_exists():link
if(array_key_exists('name', $false['name'])) {
echo $false['name'][0]; // or [1] .. or whatever you want to echo
}
答案 1 :(得分:3)
in_array()
不适用于多维数组,因此无法在此处使用in_array()
。当您在in_array()
中搜索“name”时,它会在第一个数组中搜索并找到名为“name”的数组的键。
最好使用array_key_exists功能。下面给出一个例子:(记住它只是一个建议。代码可能会有所不同)
if(array_key_exists('name', $false['name'])) {
echo $false['name'][0]; // or [1] .. or whatever you want to echo
}
//$false['name'] array contains your searched data in different keys; 0,1,2,....
您可以使用foreach()
循环第一个数组,然后使用in_array()
进行搜索,但这不是一个好方法,因为它需要更多时间才能找到。
祝你好运:))
答案 2 :(得分:1)
也许你需要首先遍历数组,然后检查它
function in_multiarray($str, $array)
{
$exists = false;
if (is_array($array)) {
foreach ($array as $arr):
$exists = in_multiarray($str, $arr);
endforeach;
} else {
echo $array . ' = ' . $str . "\n";
if (strpos($array, $str) !== false) $exists = true;
}
return $exists;
}
答案 3 :(得分:0)
in_array()
查找确切的值。因此,您需要指定"Sorry the name is missing!"
而不是"name"
。
例如:
if (in_array("Sorry the name is missing!", $false["name"])) {
echo "the array keys";
}
其中:
$false = array( 'name' => array(
0 => 'Sorry the name is missing!',
1 => 'Sorry the name is to short!'),
);
答案 4 :(得分:0)
If you are searching for array key name in your main array:
$arr = array( "name" => array(
"0" => "Sorry the name is missing!",
"1" => "Sorry the name is to short!"
));
if(array_key_exists('name', $arr)) {
print_r( $arr['name'] );
} else {
echo "array key not found";
}
如果您要搜索 $ arr ['name'] ,则无法找到名称,因为它只包含 0 和 1 此级别的数组键。
答案 5 :(得分:0)
如果您想使用in_array 你只需要将第二个参数作为你定义的数组 示例
if(in_array('name',$false){
//do your stuff
print_r($false['name']); //this will print the array of name inclusive of [0] and [1]
}
in_array php manual中给出了更多示例。请检查一下。