(1)、php陣列的遍歷順序
先舉個栗子:
<?php這段**的輸出,顯然會得到如下的結果:$arr['a'] = '123';
$arr['b'] = '456';
$arr['c'] = '789';
foreach($a as $val)
那麼,如果是如下的**呢?
<?php這兩段**不同之處是乙個陣列為關聯陣列,另外乙個陣列為索引陣列,那麼它們的輸出結果會是一樣的麼,答案是一樣的,第二段**輸出也會得到跟第一段**相同的結果。$arr[2] = '123';
$arr[1] = '456';
$arr[0] = '789';
foreach($a as $val)
那麼,這是為什麼呢?
詳細的解釋,請參考鳥哥的 深入理解php之陣列(遍歷順序)
(2)、什麼樣的兩個關聯陣列會嚴格相等
我們來看如下**:
<?php執行這段**會得到如下的結果:$a = array('1' => 'a','2' => 'b');
$b = array('2' => 'b','1' => 'a');
$c = array('1' => 'a','2' => 'b');
$flag_a_equal_b = ($a == $b);
$flag_a_strict_equal_b = ($a === $b);
$flag_a_strict_equal_c = ($a === $c);
var_dump($flag_a_equal_b);
var_dump($flag_a_strict_equal_b);
var_dump($flag_a_strict_equal_c);
也就是說,在php中,只要兩個關聯陣列的所有的 key,對應的value都是一致的,那麼這兩個關聯陣列就是相等的。但是,只有當兩個關聯陣列的所有 key 的順序也都一致時,這兩個關聯陣列才嚴格相等。
關於php的你未必知道的事情 1
1 字串變數做函式名來呼叫函式。a foo function foo a bar 這個東西的用處在 呢?我倒是知道乙個用處 當作函式指標來用,比如 function caller fun name function foo caller foo bar 注意哦,caller 接受的引數只是個字串哦 ...
關於spring框架你應該知道的
4,配置不同型別的通知 1 在增強類的裡面,在作為通知方法上面新增通知型別註解,使用切入點表示式配置 例如新增前置通知 before value excution com.atguigu.user.add 5,相同切入點的抽取 當好幾個增強都是對乙個公共切入點時,可以在乙個空方法上面加乙個 poni...
關於跨域,你應該知道的
首先得了解什麼是跨域以及為什麼會導致跨域?跨域是由瀏覽器的同源策略造成的,是一種針對瀏覽器的安全限制,即不同源的頁面之間不能相互訪問。同源策略是指請求雙方的協議 網域名稱 埠都要相同,有乙個不同就會產生跨域。同時,跨域只針對請求方式為xhr型別的請求。了解了跨域產生的根本原因我們才能給出針對性的解決...