的意义是什么 []

时间:2011-08-03 21:12:43

标签: php arrays

我有一个代码如下,我不确定什么类型的数据变量$ACTIVITYGROUPS[]有什么,我该怎么读?

$ACTIVITYGROUPS[] = saprfc_table_read ($fce, "ACTIVITYGROUPS", $i);

当我做print_r(saprfc_table_read ($fce, "ACTIVITYGROUPS", $i);时,我得到了一堆没有任何分隔符的数组,并且不确定如何精确数据。谁可以告诉我它在上面的句子中做了什么?

以下print_r(saprfc_table_read ($fce, "ACTIVITYGROUPS", $i);结果给了我:

Array (
    [AGR_NAME] => Y:SECURITY_DISPLAY
    [FROM_DAT] => 20080813
    [TO_DAT] => 99991231
    [AGR_TEXT] => Security Display - Users & Roles
    [ORG_FLAG] => C
)

Array (
    [AGR_NAME] => Y:SECURITY_ADMIN_COMMON
    [FROM_DAT] => 20080813
    [TO_DAT] => 99991231
    [AGR_TEXT] => Security Administrator
    [ORG_FLAG] => C
)

Array (
    [AGR_NAME] => Y:LOCAL_TRANSPORT
    [FROM_DAT] => 20090810
    [TO_DAT] => 99991231
    [AGR_TEXT] => Transport into target client - DEV system only
    [ORG_FLAG] =>
)

4 个答案:

答案 0 :(得分:26)

[]表示 push - 将给定的参数作为新元素放在数组的末尾。这意味着$ACTIVITYGROUPS是一个数组*。

$arr = array();
$arr[] = 1;       // Put 1 in position 0
$arr[] = "a";     // Put "a" in position 1
$arr[] = array()  // Put a new, empty array in position 2

正如PHP文档所述,array_push[]具有相同的效果。


* 如果它不是数组,使用[]会出现语法错误:

  

警告:不能在第4行的test.php中使用标量值作为数组

答案 1 :(得分:3)

在许多语言中,[]表示法代表数组。 与php的array_push()相同:它会在最后有[]的变量中推送一个元素。

如果变量为null,则可以将方括号视为数组的声明。

例如,同样的推送符号适用于Javascript。当像$var[] = 'a';一样使用时,发生的情况与我上面谈到的array_push()相同。只需找到数组中的下一个位置,然后添加您的值。

可以使用forforeachwhiledo while遍历数组,您可以使用print_r()var_dump()检查其内容功能

答案 2 :(得分:1)

  

我该怎么看?。

由于saprfc_table_read已经返回一个数组,$ACTIVITYGROUPS将是一个数组数组([]在数组$ACTIVITYGROUPS中创建一个新数组元素)。要阅读它,您可以使用foreach迭代它:

$ACTIVITYGROUPS[] = saprfc_table_read ($fce,"ACTIVITYGROUPS",$i);

foreach ($ACTIVITYGROUPS as $group) {
    echo $group['AGR_NAME']; // echos Y:SECURITY_DISPLAY on first iteration
    echo $group['FROM_DAT']; // echos 20080813 on first iteration
    // and so on...
}

答案 3 :(得分:0)

这是一个数组,但是你输出的结果表明你的嵌套数组没有键。我确定他们有默认密钥0,1,2,3,4 ......等等,但如果你想通过任何有意义的方式识别它们,我建议调整数组中数据的键。

print_r($ACTIVITYGROUPS); //this should output the whole array
print_r($ACTIVITYGROUPS[0]); //this should output just the first element of the array, which is also an array
//now you have an 'address' for the array that you understand, now lets output one of the values
foreach($ACTIVITYGROUPS as $key => $item){
    echo $item['ARG_NAME']; // this will output the ARG NAME from each of the arrays, in order
}