当前位置: 代码迷 >> PHP >> php 数组相加,看不懂,请些一个好例子给小弟我看一下好吗
  详细解决方案

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

热度:248   发布时间:2016-04-28 18:52:24.0
php 数组相加,看不懂,请些一个好例子给我看一下好吗
$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);
  相关解决方案