Home  >  Article  >  Backend Development  >  php 数组相加,看不懂,请些一个好例子给我看一下好吗

php 数组相加,看不懂,请些一个好例子给我看一下好吗

WBOY
WBOYOriginal
2016-06-23 13:53:441004browse

$a ="a";$b ="b";$ay[$a][$b][]= 3;print_r($ay);

输出, Array ( [a] => Array ( [b] => Array ( [0] => 3 ) ) ),意思是不是数组a中存在数组b,数组b中存在一个数组,该数组索引0的时候值是3 。

//////////////////////////////////////
$Me[$a][$b] += $Me[$k][$c]; //请问这个相加之后左边的值会变成什么样??
$Me[$z][$m] = $Me[$sy][$my]; //这个赋值之后会变成怎么样?? 

这两句,看得我头很大,请帮忙,最好写一个例子给我演示一下这两句,我头脑真的不太好用。。

我只懂得下面这样简单的。。
$a[] =1;
$b[] =2;
echo $a[0] + b[0];结果是3 。
也懂得
$a[] =1;
$b[] =2;
echo $a[0] = b[0]; 结果a[0]是2;


回复讨论(解决方案)

$Me[$a][$b] += $Me[$k][$c]; //请问这个相加之后左边的值会变成什么样??
$Me[$z][$m] = $Me[$sy][$my]; //这个赋值之后会变成怎么样?? 


这是二维数组的表示法,表示一个元素的值,你大可以当作一个变量:
$a += 1;
$a =  3;
这样就能看懂了吧

$Me[$a][$b] += $Me[$k][$c]; //请问这个相加之后左边的值会变成什么样??
这是简写,等同
$Me[$a][$b] = $Me[$a][$b]+$Me[$k][$c];
等同
$a=$a+$b;

$Me[$z][$m] = $Me[$sy][$my]; //这个赋值之后会变成怎么样?? 
$Me[$z][$m]和$Me[$sy][$my]都是存放一个值的位置
假如$Me[$z][$m]存放的值为1,$Me[$sy][$my]存放的值为2
那么 echo $Me[$z][$m] = $Me[$sy][$my];
结果就是 $Me[$z][$m]是2

php array() 是多维数组,
1维的取值方式是:array[]
2维的取值方式是:array[][]
以此类推。
可以这样返回数组的维度。

/**  * 返回数组的维度  * @param  [type] $arr [description]  * @return [type]      [description]  */function arrayLevel($arr){     $al = array(0);     function aL($arr,&$al,$level=0){         if(is_array($arr)){             $level++;             $al[] = $level;             foreach($arr as $v){                 aL($v,$al,$level);             }         }     }     aL($arr,$al);     return max($al); } $arr = array(     '0'=>'0', ); echo arrayLevel($arr); 

合并数组建议采用php array自带的函数 array_merge() http://www.w3school.com.cn/php/func_array_merge.asp

多动手,少动眼,记得给脑子加点油

$Me = array(  array(1, 2, 3, 4),  array(4, 6, 7, 8),  array(9, 10, 11, 12),  array(13, 14, 15, 16),);$a = 0;$b = 1;$k = 2;$c = 3;$z = 3;$m = 3;$sy = 1;$my = 2;$Me[$a][$b] += $Me[$k][$c];$Me[$z][$m] = $Me[$sy][$my];print_r($Me);

懂了,谢谢各位牛人

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn