在这种情况下使用关联数组或标准数组会更好吗?

时间:2012-10-05 11:56:03

标签: php arrays

我有一个复选框列表,其中包含我在表单中输出的标签。 html要求有点复杂,所以我要循环使这不那么平凡。

但是,我不确定我是否使用:

$array[] = array("Label1", "CheckboxHTML1");
$array[] = array("Label2", "CheckboxHTML2");
$array[] = array("Label3", "CheckboxHTML3");
$array[] = array("Label4", "CheckboxHTML4");

//output
foreach($array as $current)
{
    //complicated html
    echo "<label>$current[0]</label>$current[1]";
}

或者:

$array["Label1"] = "CheckboxHTML1";
$array["Label2"] = "CheckboxHTML2";
$array["Label3"] = "CheckboxHTML3";
$array["Label4"] = "CheckboxHTML4";

foreach($array as $key => $checkbox)
{
    //complicated html
    echo "<label>$key</label>$checkbox[1]";
}

一个人比另一个人有更大的利益吗?我担心使用关联数组,因为一些标签字符串非常长,我不确定这是否会导致任何问题。

3 个答案:

答案 0 :(得分:3)

就密钥的长度而言,您不会遇到任何问题。作为一般经验法则,当您了解开发人员可能希望将来根据其名称访问该数据时,最好使用关联数组。

答案 1 :(得分:2)

PHP中的字符串大小没有限制。 String can be as large as 2GB.

我认为可以假设这适用于数组。我的意思是使用字符串作为键。

我猜你应该选择最适合自己的方式。我选择了关联数组。

答案 2 :(得分:2)

你应该做每种情况下最自然的事情。存在关联数组,以便您可以按键有效地检索项目; 如果您打算这样做,请使用

确实,在构造数组时,几乎可以肯定长按键会对性能产生轻微影响,但对于人类和编译器来说,“非常长”的定义并不相同。