0
我有3個陣列是這樣的:爲什麼array_merge_recursive這樣工作?
第一
Array
(
[0695] => Array
(
[loan_number] => 0695
[start_date] => 2011-12-25
)
)
第二
Array
(
[0695] => Array
(
[name] => ''
[address] => ''
)
)
第三
Array
(
[0695] => Array
(
[items] => Array
(
[0] => Array
(
[item] => ''
[qty] => ''
[price] => ''
)
)
)
)
array_merge_recursive(array1,array2,array3)
生產:
Array
(
[0695] => Array
(
[loan_number] => 0695
[start_date] => 2011-12-25
[name] => ''
[address] => ''
[items] => Array
(
[0] => Array
(
[item] => ''
[qty] => ''
[price] => ''
)
)
)
)
但如果數組鍵都是這樣
Array
(
[1685] => Array
(
[loan_number] => 1685
[start_date] => 2011-12-25
)
)
Array
(
[1685] => Array
(
[name] => ''
[address] => ''
)
)
Array
(
[1685] => Array
(
[items] => Array
(
[0] => Array
(
[item] => ''
[qty] => ''
[price] => ''
)
)
)
)
這樣
Array
(
[0] => Array
(
[loan_number] => 1685
[start_date] => 2011-12-25
)
[1] => Array
(
[name] => ''
[address] => ''
)
[2] => Array
(
[items] => Array
(
[0] => Array
(
[item] => ''
[qty] => ''
[price] => ''
)
)
)
)
此產品導致的任何想法,爲什麼發生這種情況以及如何防止這一點,得到的結果是第一個?
我試着用用笨一次我打電話功能即時得到500內部服務器錯誤 – 2012-03-25 19:36:08
看來你有問題正確的第一功能和IM,但我不喜歡你的解釋。 '0695'是當然可以用'的var_dump很容易地檢查一個數字值(is_numeric(0695));',其輸出TRUE;。 achana問題在於Gihana可能使用了兩個字符串「0695」和「1685」作爲關鍵字。在這兩個字符串中,當PHP用作關鍵字時,後者將被轉換爲整數。我個人會認爲這是一個錯誤,或者至少是PHP開發人員的愚蠢。再次它可以與'的var_dump(的GetType(密鑰(陣列( 「1685」=>空))))',其輸出'integer'代替'string'進行檢查。 – Basti 2012-03-25 19:43:21
那麼肯定,但我說:「0695是不是一個數字** **鍵」。但是,這是完整的故事,是的。 – JJJ 2012-03-25 19:45:27