PHP学习心得


函数细节明确

<ul> <li>记录一些函数,容易出错,规则比较多。</li> </ul> <h2>数组差集</h2> <ul> <li>array_diff(被对比的数组, 和更多数组进行比较 )</li> <li>返回值为:“被对比的数组”中的值,不在其他数组中</li> <li>理解为:第一个参数中的值,不在其他数组中</li> </ul> <pre><code class="language-php">$a = [11, 22, 33]; $b = [22, 33, 44,]; $c = [11, 22, 33,]; $d = [11, 22, 33, 44]; $e = [55, 66]; $ab = array_diff($a, $b); var_export($ab); // [0 =&gt; 11,] echo '&lt;br /&gt;'; $ac = array_diff($a, $c); var_export($ac); // [] echo '&lt;br /&gt;'; $ad = array_diff($a, $d); var_export($ad); // [] echo '&lt;br /&gt;'; $ae = array_diff($a, $e); var_export($ae); // [11, 22, 33] echo '&lt;br /&gt;'; </code></pre> <h2>数组合并</h2> <h4>返回值</h4> <ul> <li>数组中有相同的字符串键名,该键名后面的值将覆盖前一个值</li> <li>数组包含数字键名,后面的值,不会覆盖原来的值,而是附加到后面</li> <li>数组以数字作为键名,该键名会以连续方式重新索引</li> <li>更详情说明,请查看官网手册</li> </ul> <pre><code class="language-php">// 数组中有相同的字符串键名,该键名后面的值将覆盖前一个值 $array1 = ["color" =&gt; "red", 2, 4]; $array2 = ["a", "b", "color" =&gt; "green", "shape" =&gt; "trapezoid", 4]; $result = array_merge($array1, $array2); var_export($result); // ['color' =&gt; 'green', 0 =&gt; 2, 1 =&gt; 4, 2 =&gt; 'a', 3 =&gt; 'b', 'shape' =&gt; 'trapezoid', 4 =&gt; 4,] echo '&lt;br /&gt;'; $a = [11, 22, 33]; $b = [22, 33, 44,]; $ab = array_merge($a, $b); var_export($ab); // [11, 22, 33, 22, 33, 44,] echo '&lt;br /&gt;'; $c = [1=&gt; 'a', 2=&gt; 'b', 3=&gt; 'c']; $d = [2=&gt; 'b', 3=&gt; 'c', 4=&gt; 'd']; $e = [5=&gt;'e', 6=&gt;'f']; // 数组以数字作为键名,该键名会以连续方式重新索引 $cb = array_merge($c, $d); var_export($cb); // [0 =&gt; 'a', 1 =&gt; 'b', 2 =&gt; 'c', 3 =&gt; 'b', 4 =&gt; 'c', 5 =&gt; 'd',] echo '&lt;br /&gt;'; // 数组以数字作为键名,该键名会以连续方式重新索引 $ce = array_merge($c, $e); var_export($ce); // [0 =&gt; 'a', 1 =&gt; 'b', 2 =&gt; 'c', 3 =&gt; 'e', 4 =&gt; 'f', ] echo '&lt;br /&gt;'; /** * TODO::完全保留原有数组,只想新的数组附加到后面,使用 + 运算符: * 1-理解为:完全保留两个数组中的所有键值。前提是两个数组中的键是不相同的。 * 2-如果两个数组中,键存在相同,以第一个数组的键值为准。 */ $ce = $c + $e; var_export($ce); // [1 =&gt; 'a', 2 =&gt; 'b', 3 =&gt; 'c', 5 =&gt; 'e', 6 =&gt; 'f', ] echo '&lt;br /&gt;'; $h = [1 =&gt; 11, 2 =&gt; 22]; $i = [5 =&gt; 55, 6 =&gt; 66]; $j = [1 =&gt; 10, 6 =&gt; 66]; $hi = $h + $i; var_export($hi); // [ 1 =&gt; 11, 2 =&gt; 22, 5 =&gt; 55, 6 =&gt; 66, ] echo '&lt;br /&gt;'; // 两个数组相加,两个数组中键存在相同,以第一个数组的键值为准。 $hj = $h + $j; var_export($hj); // [1 =&gt; 11, 2 =&gt; 22, 6 =&gt; 66, ] echo '&lt;br /&gt;'; </code></pre>

页面列表

ITEM_HTML