關於PHP陣列你應該知道的事情

2022-08-27 07:27:09 字數 1191 閱讀 6052

(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型別的請求。了解了跨域產生的根本原因我們才能給出針對性的解決...