php数组维数
A. php中数组问题
这个一个二维的数组。维数可以是任意的。二维数组用到的比较多。
就如你的要输出一组图片,要获得的内容是图片(image_src),图片名称(image_name).
$list = array();
$sql =" select image_src,image_name from image";
if(mysql_query($sql)) {
$results = array();
while(mysql_fetch_array($results)) {
$list[] = array('image_src' => $results['image_src'], 'image_name' =>$results['image_name']);
}
}
print_r($list);
B. php中的数组最多有几维
多少维是没有上限的,只要内存足够,其实不管多少维,其实都是 一个线性表而已, 写成维数的形式只不过比较好调用罢了~ 实际上分配的内存 就是链接在一起的一块区域.
C. php 一维数组、二维数组、多维数组区别详解
简单说说吧:
一维数组:[ 0 ]索引 =>指向 [ ... ]内容
array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ]}
二维数组:
array {
[ 0 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 1 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 2 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 3 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 4 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] }
}
三维数组:
array {
[ 0 ] =>
array {
[ 0 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 1 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 2 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 3 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 4 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] }
}
[ 1 ] =>
array {
[ 0 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 1 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 2 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 3 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 4 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] }
}
[ 2 ] =>
array {
[ 0 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 1 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 2 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 3 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 4 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] }
}
[ 3 ] =>
array {
[ 0 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 1 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 2 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 3 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 4 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] }
}
[ 4 ] =>
array {
[ 0 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 1 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 2 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 3 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] },
[ 4 ]=>array { [ 0 ]=>[ 内容 ],[ 1 ]=>[ 内容 ],[ 2 ]=>[ 内容 ],[ 3 ]=>[ 内容 ],[ 4 ]=>[ 内容 ] }
}
}
维数越多,嵌套越复杂,头脑要清晰啊!
D. php如何判断数组是一维还是多维
php 没有自带检查数据维度的函数,只能自己写算法来实现。比较笨但有效的办法,就是遍历数组一个个检查过去,每一个数组单元是否为数组类型。只要有一个是,就是多维了。
E. php判断一个多维数组当中有多少个n维数组
1、本次仅代表个人意见,不喜勿喷
2、以下代码使用到的知识点包括,函数递归调用,数组去重,数组排序,以及数组遍历
3、本次测试了三个例子,例子的结果见程序后附图
/**************************** 代码开始 begin*************************************/
<?php
/***
*@author biking
*@time 21015-11-18
*@function 获取数组的维数
*/
function getArrayNum($array,$n,&$num){
if(!is_array($array)){
return ;
}
foreach($array as $val){
if(is_array($val)){
$tmpn = $n+1;
getArrayNum($val, $tmpn,$num);//递归调用
}else{
array_push($num,$n);
continue;
}
}
}
/************************测试例子*********************/
//$myarray = array(1,2,array(11,22),3,array(33,44,array(111,222,333)));//例子1
//$myarray = "hello";//例子2
$myarray = array(2,3,array('hei','this'));//例子3
$num = array();
getArrayNum($myarray, 1,$num);//首次调用
if(empty($num)){//进行判断
echo "<meta charset='utf-8' />不是数组!";
die();
}
//数组去重
array_unique($num);
//升序排序
sort($num);
//输出测试的数组的维数
echo "<meta charset='utf-8' />该例子的数组维数是:".$num[count($num)-1];
/**************************** 代码结束 end*************************************/
例子1结果
F. 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文件里面运行一下就出来了。实践最重要。不要光看教程。
G. php多维数组如何使用
$User[0][0]的值就是'张三'、$User[0][1]的值就是88;
$User[1][0]的值就是'lisi'、$User[1][1]的值就是90;
....
更高级的用法见下面的例子程序:
<?php
$User =array(
'张三' => 88,
'lisi' => 90,
'王五' => 99
);
print_r($User);
?>
这样$User['张三']的值就是88,$User['lisi']的值就是90,是一维数组,而且更加方便。
H. 如何判断php数组的维度
$arr = [1,3,4,6];
$c = count($arr);
mp($c); //输出4
I. php中判断数组是一维,二维,还是多维的解决方法
functionis_array($array){
$s=1;默认为1为数组
foreach($arrayas$value){
在这里判断value是不是数组,是的话,说明是2维
设置$s=2;
}
return$s;
}
J. php如何判断数组是几维的
function is_array($array){ $s = 1;默认为1为数组 foreach($array as $value){ 在这里判断value是不是数组,是的话,说明是2维 设置$s=2; }return $s;}