⑴ php三维数组
首先需要更正一下。php二维数组的写法。
$erwei=array(
array('a','b','c','d'),
array('aa','bb','cc','dd')
);
//$erwei[0][1]的值为b
php中的数组中[]的数字表示索引,从0开始计数。如1表示第二个元素。数组是一层层嵌套的。
这样你应该明白三维数组的写法以及取值了吧。
例子:
$sanwei=array(
array(
array('aa','bb','cc','dd'),
array('aa1','bb1','cc1','dd1')
),
);
//$sanwei[0][0][1] 的值为 bb
补充:
单纯的讨论这个没有多大意义。同时php里面没有明确的定义。几维数组只是一种形式。关键在你实战中的需求。
7的是$shuzu[0][0][2][0]
a的是$shuzu[0][1][0]
这些东西,你直接写在php文件里面运行一下就出来了。实践最重要。不要光看教程。
⑵ PHP 多维固定数组转换成二维数组
functiondofor_child($array,$list,$k){
if(is_array($array)){
$k++;
foreach($array空弯腊as$key=>$ar){
if(!is_array($ar)){
$list[$k][$key]=$ar;闹升斗滑
}else{
returndofor_child($ar,$list,$k);
}
}
}
return$list;
}
$arr=dofor_child($array1,$list,-1);
var_mp($arr);
exit;
⑶ PHP高手请进。把一个三维数组里的所有二维数组取出来比较,取交集...
//foreach三维,一步步算下去就行
$arr = array(
array('a'=>'1','b'=>'2','c'=>'5','d'=>'56'),
array('a'=>'1','c'=>'5','d'=>'56'),
array('a'=>'1','c'=>'5','e'=>'44'),
array('a'=>'1','c'=>'5','d'=>'56','f'=>'d')
);
if (count($arr)>0)
{
foreach($arr as $key=>$val)
{
if ($key==0)//第一个先取出来
{
$tmp_arr = $val;
}
else
{
$tmp_arr = array_intersect_assoc($tmp_arr,$val);
}
}
}
print_r($tmp_arr);
⑷ PHP三维数组变二维数组
foreach(三维 value){
新二维=value;
}
⑸ php 怎么使一维数组变二维数组
数组 array ("id","name") 与 数组 array(0=>"id",1=>"name") 其实是一样的,只不过第一个没有定义数组的Key,但是数组会自动加上Key的。
你想要的
$provinces = array(
array('id' => '38', 'name' => '个户化妆'),
array('id' => '40', 'name' => '图书文具')
);
其实本质上,这个数组还是
$provinces = array(
0=>array('id' => '38', 'name' => '个户化妆'),
1=>array('id' => '40', 'name' => '图书文具')
);
没有变化的。
取数组中的数据,还是要用$provinces[0]['id'] $provinces[0]['name'] 这种方式嘛。 php中打印数组就是会自动 加上 Key让 。如果你非要为了方便查看。那不妨
foreach($provinces as $k=>$v){
print_r($v);
}
会显示出来,不会显示Key。
从程序的角度来说,你要的效果是达不到的(也许别人可以达到,反正根据我目前学的,达不到)。试想一下,如果一个数组没有了Key,请问你如何取得数组中的数据。