-2

対応する配列に特定の値が含まれている場合、多次元配列の値を置き換えたいと考えています。

基本的に、2 つの多次元配列があります。1 つは実際のデータを含み、もう 1 つは最初の配列を変更する必要があるかどうかの yes/no を含みます。

これを行う方法はありますか:

if optB[i][i] contains 'yes'
        then opt[i][i] = '<strong>'.opt[i][i].'</strong>';

これが可能かどうかについては迷っています。どんな助けでも大歓迎です-ありがとう!

これまでご協力いただきありがとうございました。配列は次のとおりです。

[opt] => Array
    (
        [0] => Array
            (
                [0] => value1
                [1] => value2
            )

        [1] => Array
            (
                [0] => value3
                [1] => value4
            )

    )

[optB] => Array
    (
        [0] => Array
            (
                [0] => on
            )

        [1] => Array
            (
                [1] => on
            )

    )
4

4 に答える 4

1

可能です。あなたはこれを行うことができます:

for ($i = 0; $i < count(opt); $i++) {
    if ($optB[$i][$i] == "yes")
        opt[$i][$i] = '<strong>'.opt[$i][$i].'</strong>';
}
于 2013-07-05T14:39:34.583 に答える
1

通常、数値配列には常に 0 があるため、これらはいくつかの興味深い配列です。別のキーの組み合わせがあると思うので、これが最良の「将来性のある」方法だと思います。

foreach ($optB as $i => $optB2) {
    foreach ($optB2 as $j => $val) {
        if ($val) {
            $opt[$i][$j] = '<strong>' . $opt[$i][$j] . '</strong>';
        }     
    }        
}
于 2013-07-05T14:40:01.337 に答える
1

次のように記述できます。

if (strpos($optB[$i][$i], 'yes'))
    $opt[$i][$i] = '<strong>'.$opt[$i][$i].'</strong>';
于 2013-07-05T14:40:05.860 に答える