2011-07-12 48 views
0

在阵列中添加键值

$test = array(); 

if(isset($ln[8])){ 
    $test[] .= $id[0].'=>'.$ln[14]; 
}  

但是却让这样

array (
      [0]=> 6525 => 120 
      [1]=> 6521 => 1243 
      [2]=> 5214 => 1674 
      [3]=> 6528 => 155 
) 

的阵列,而我想它这样做

array (
      6525 => 120 
      6521 => 1243 
      5214 => 1674 
      6528 => 155 
) 

我会怎样去做。

回答

5

您正在做的是将字符串添加到例如数组中的每个元素的“6525 => 120”。您真正想要做的是将$ lan [14](例如,整数值120)的值添加到位置$ id [0](例如6525)。这是如何做到这一点与普通数组语法:

$test[$id[0]] = $ln[14]; 

注意我如何对待$id[0]的关键$test阵列。它可能是整数6265,值为"hello"的字符串,名为$key的变量,函数调用,或者在此情况下是来自另一个阵列的元素。

1

试试这个

$test[$id[0]] = $ln[14]; 

你的错误就在于,你尝试添加一个字符串数组,你必须使用id作为重点和ln作为值。

2

您想要使$id[0]成为索引,而当前您将串连接在一起作为值。

尝试以下操作:

$test[$id[0]] = $ln[14]; 

我也建议你看看CakePHP's Set Class