如何在数组中声明关联元素?

问题描述 投票:0回答:3

我有

$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
)

我该怎么做。

php arrays associative-array assign
3个回答
5
投票

您正在做的是将“一个字符串”添加到数组中的每个元素,例如“6525 => 120”。您真正想要做的是将 $lan[14] 中的值(例如,整数值 120)添加到位置 $id[0] (例如,6525)。这就是使用常规数组语法的方法: $test[$id[0]] = $ln[14];

请注意我如何将 
$id[0]

视为

$test
数组的键。它可能是整数
6265
、值为
"hello"
的字符串、名为
$key
的变量、函数调用,或者在本例中是另一个数组中的元素。
    


2
投票
$id[0]

作为索引,而当前您正在将字符串连接在一起作为值。


尝试以下操作:

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

我还鼓励您查看
CakePHP 的 Set Class


1
投票

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

您的错误是尝试将字符串附加到数组中,并且必须使用 
id

作为键,使用

ln
作为值。
    

© www.soinside.com 2019 - 2024. All rights reserved.