PHP の配列加算がわかりません。
$a ="a";<br />$b ="b";<br />$ay[$a][$b][]= 3;<br />print_r($ay);<br />
ログイン後にコピー
Output, Array ( [b] => Array ( [ 0]) => 3)))、これは、配列 a には配列 b は存在しませんが、配列 b には配列が存在することを意味します。配列のインデックスが 0 の場合、値は 3 になります。
/////////////////////////////////////
$Me [ $a][$b] = $Me[$k][$c]; //この追加後の左側の値はどうなるでしょうか? ?
$Me[$z][$m] = $Me[$sy][$my]; //この割り当ての後はどうなりますか? ?
これらの 2 つの文は頭が痛くなります。私の頭が本当に悪いので、例を書いてみるのが一番です。 。
私は次のような簡単なことしか知りません。 。
$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]; //この割り当ての後はどうなりますか? ?
これは要素の値を表す 2 次元配列の表現です。
$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[][]
など。
次のように配列の次元を返すことができます。
<br />/** <br /> * 返回数组的维度 <br /> * @param [type] $arr [description] <br /> * @return [type] [description] <br /> */<br />function arrayLevel($arr){ <br /> $al = array(0); <br /> function aL($arr,&$al,$level=0){ <br /> if(is_array($arr)){ <br /> $level++; <br /> $al[] = $level; <br /> foreach($arr as $v){ <br /> aL($v,$al,$level); <br /> } <br /> } <br /> } <br /> aL($arr,$al); <br /> return max($al); <br />} <br /><br />$arr = array( <br /> '0'=>'0', <br />); <br /><br />echo arrayLevel($arr); <br />
ログイン後にコピー
-----解決策---------マージすることをお勧めしますarrays php に付属する関数 array_merge() arrayhttp://www.w3school.com.cn/php/func_array_merge.asp
------解決策---------- ----------手を増やし、目は減らして、脳に燃料を補給することを忘れないでください
$Me = array(<br /> array(1, 2, 3, 4),<br /> array(4, 6, 7, 8),<br /> array(9, 10, 11, 12),<br /> array(13, 14, 15, 16),<br />);<br />$a = 0;<br />$b = 1;<br />$k = 2;<br />$c = 3;<br />$z = 3;<br />$m = 3;<br />$sy = 1;<br />$my = 2;<br />$Me[$a][$b] += $Me[$k][$c];<br />$Me[$z][$m] = $Me[$sy][$my];<br />print_r($Me);
ログイン後にコピー