【发布时间】:2017-07-02 08:19:37
【问题描述】:
我正在学习 PHP,我希望在数组中搜索给定的字符串,如果匹配则返回一些值。我尝试过使用in_array() 和array_search,但两者都无法正确匹配/返回值。
print_r($names);
Array
(
[0] => Array
(
[name] => A
[age] => 42
[location] => Australia
)
[1] => Array
(
[name] => B
[age] => 21
[location] => France
)
[2] => Array
(
[name] => Z
[age] => 50
[location] => Japan
)
)
我想检查数组中是否存在名称并返回相同索引位置的信息。
$name="A";
if (in_array($name, $names)) {
$age=$names['age'];
$location=$names['location'];
echo "$name was found! Their Age is: $age, They are based in: $location";
}
else{
echo"$name was not found";
}
但是,找不到名称,也没有加载年龄和位置数据。
输出:
A was not found
预期输出:
A was found! Their Age is: 42, They are based in: Australia
使用 array_search() 进行测试
$result = array_search("$name",$names);
echo $result;
没有打印任何值。
任何关于如何修复我的(in_array) 或我将如何使用array_search() 列出信息的反馈将不胜感激。
【问题讨论】:
标签: php arrays multidimensional-array