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