1

フォームに出力しているラベル付きのチェックボックスのリストがあります。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]";
}

どちらかが他方よりも大きな利点がありますか? 一部のラベル文字列は非常に長く、これが問題を引き起こすかどうか確信が持てなかったため、連想配列を使用することに不安がありました。

4

3 に答える 3

3

キーの長さに関しては問題ありません。一般的な経験則として、開発者として将来その名前に基づいてそのデータにアクセスする可能性があることがわかっている場合は、連想配列を使用することをお勧めします。

于 2012-10-05T12:02:11.407 に答える
2

PHP では、文字列のサイズに制限はありません。文字列は最大 2GB まで可能です。

これが配列に当てはまると仮定しても大丈夫だと思います。文字列をキーとして使用することを意味します。

自分に一番合った方法で行くべきだと思います。私は連想配列を選択しています。

于 2012-10-05T12:01:05.993 に答える
2

それぞれの場合で最も自然なことは何でもするべきです。キーによってアイテムを効率的に取得できるように、連想配列が存在します。あなたがそれを行うつもりなら、それらを使用してください

長いキーが配列の構築時にパフォーマンスにわずかに影響を与えることはほぼ確実ですが、「非常に長い」という定義は、人間とコンパイラにとって同じではありません。

于 2012-10-05T12:01:36.290 に答える