‘壹’ php 遍历多维数组,获取指定的值
function getKey($arr,$key){
return is_array($arr[$key])?implode(',',$arr[$key]):$arr[$key];
}
$arr=Array ( 'name'=>'张三',
Array('phone' => Array('188','177','166')),
Array('sex' => '男') );
echo getKey($arr,'name');
echo getKey($arr,'phone');
‘贰’ 请教如何在PHP多维数组中筛选出自己想要的数值并输出
$ar = Array(
Array (
'log_data' => 4,
'log_result' => 0,
'log_time' => '2013-05-08 10:08:40'
),
Array (
'log_data' => 10018,
'log_result' => 2,
'log_time' => '2013-05-08 10:13:58',
),
Array (
'log_data' => 10018,
'log_result' => 2,
'log_time' => '2013-05-08 10:14:02',
),
Array (
'log_data' => 10003,
'log_result' => 50,
'log_time' => '2013-05-08 10:18:29',
),
);
foreach($ar as $item) {
@$res[$item['log_data']][strtok($item['log_time'], ' ')] += $item['log_result'];
}
print_r($res);
‘叁’ PHP如何以键值对的方式在一个多维数组里做查找
?php
$arr = array('a' => 1, array('b' =>2), 'c' => 3, array(array('d' =>4), 'e' => 5));
echo searchKey($arr,4);
function searchKey($array,$value){
foreach($array as $key=>$row){
if(!is_array($row)){
if($row == $value){
$r = $key;
return $key;
}
}else{
$r = searchKey($row,$value);
if($r != -1){
return $r;
}
}
}
return -1;
}
?>
‘肆’ php 多维数组查询 ,根据一个值检索指定数组,怎么实现
//换成你的二维数组
$array=array(
array('key'=>'b','val'=>2),
array('key'=>'c','val'=>3),
array('key'=>'d','val'=>4),
array('key'=>'e','val'=>5),
);
$result=array_filter($array,'filter');
print_r($result);
functionfilter($v){
//换成你要的条件
return$v['key']=='c';
}
‘伍’ PHP遍历多维数组
你的意思是用户输入nickname比如输'user2'然后你这边取user2对应的password吗?
$data=[
'user'=>[
""=>[
"nickname"=>"user1",
"userName"=>"username",
"passWord"=>"password",
"status"=>1,
],
""=>[
"nickname"=>"user2",
"userName"=>"username",
"passWord"=>"password",
"status"=>1,
],
]
];
//第一种情况是user数组里有多个叫user2的nickname,这样查出的password也会有多个,所以就需要循环来处理了
$nickname='user2';//这里是用户输入的值
$password=[];
foreach($data['user']as$val){
if($val['nickname']==$nickname){
$password[]=$val['passWord'];
}
}
print_r($password);
//第二情况就是user数组里只会有一个叫user2的nickname,这样只会查出一个password
$nickname='user2';//这里是用户输入的值
$user=array_column($data['user'],null,'nickname');
$password=$user[$nickname]['passWord'];
echo$password;
‘陆’ php多维数组foreach取值
可以使用count函数来获取第一维的元素个数
也可以使用count函数的递归形式获取总元素个数
看以下示例:
<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
'veggie' => array('carrot', 'collard','pea'));
// recursive count
echo count($food, COUNT_RECURSIVE); // output 8
// normal count
echo count($food); // output 2
?>
foreach取出的应该是每个数组元素 你可以使用嵌套的foreach获取每个元素
看以下示例:
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
foreach ($a as $v1) {
foreach ($v1 as $v2) {
echo "$v2\n";
}
}
‘柒’ php处理多维数组怎么获取里面值
2是指数组元素个数。
$a = array (
array(
"pid" => "4","number" => "1"
),
array(
"pid" => "5","number" => "1"
)
);
// 遍历多维数组
foreach($a as $b){
foreach($b as $key_pid => $value_number){
echo $key_pid;
echo $value_number;
}
}