我有一个问题。我有一些数组,如下例所示。
$arrays = array(
array('id' => '1','username' => 'user1','password' => 'pass1','email' => 'your@email.com'),
array('id' => '2','username' => 'user2','password' => 'pass2','email' => 'your@email.com'),
array('id' => '3','username' => 'user3','password' => 'pass3','email' => 'your@email.com')
);
例如,我想搜索" user2"然后显示有关user2的所有信息。我怎么能这样做?
答案 0 :(得分:1)
只需遍历顶部数组($arrays
),寻找正确的用户。当你发现它做了一些事情。
foreach ($arrays as $a) {
if (isset($a['username']) && $a['username'] === 'user2') {
echo '<pre>';
print_r($a);
echo '</pre>';
}
}
答案 1 :(得分:0)
如果你想回显特定用户名= user2的信息,你可以像print_r之前的那样使用或者使用:`
foreach ($arrays as $a) {
if ($a['username'] === 'user2') {
echo 'id:'.$a['id'];
echo 'user:'.$a['username'];
echo 'email:'.$a['email'];
}
}
并根据您的喜好进行格式化
答案 2 :(得分:0)
您也可以尝试这种方式按键值
搜索multidimensional
数组
$array = array(
array('id' => '1','username' => 'user1','password' => 'pass1','email' => 'your@email.com'),
array('id' => '2','username' => 'user2','password' => 'pass2','email' => 'your@email.com'),
array('id' => '3','username' => 'user3','password' => 'pass3','email' => 'your@email.com')
);
function search_by_key_value($array, $key, $value)
{
$results = array();
if (is_array($array)) {
if (isset($array[$key]) && $array[$key] == $value) {
$results[] = $array;
}
foreach ($array as $subarray) {
$results = array_merge($results, search_by_key_value($subarray, $key, $value));
}
}
return $results;
}
$result=search_by_key_value($array,'username','user2'); //array,key,value
echo '<pre>';
print_r($result);
echo '</pre>';