2013-07-05 3 views
-2

Я хотел бы заменить значение многомерного массива, если агрессивный массив содержит определенное значение.Заменить значение в массиве на основе другого массива

В принципе, у меня есть два многомерных массива. Один содержит фактические данные, а другой содержит да/нет для того, должен ли быть изменен первый массив.

Есть ли способ сделать это:

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 
      ) 

    ) 
+0

Не могли бы вы разместить несколько образцов массивов? – chrislondon

+0

Да, это возможно: петля над массивом, сравните с другим и измените по мере необходимости. –

+0

Отправьте сообщение 'print_r' для обоих массивов, это облегчит нам задачу. – DontVoteMeDown

ответ

1

Таковы некоторые интересные массивы, потому что, как правило, числовые массивы всегда имеют 0. Я представляю вам, возможно, придется немного другую комбинацию клавиш, так что я думаю, что это самое лучшее «будущее доказательство» метод:

foreach ($optB as $i => $optB2) { 
    foreach ($optB2 as $j => $val) { 
     if ($val) { 
      $opt[$i][$j] = '<strong>' . $opt[$i][$j] . '</strong>'; 
     }  
    }   
} 
1

Это возможно. Вы можете сделать это:

for ($i = 0; $i < count(opt); $i++) { 
    if ($optB[$i][$i] == "yes") 
     opt[$i][$i] = '<strong>'.opt[$i][$i].'</strong>'; 
} 
1

это можно записать так:

if (strpos($optB[$i][$i], 'yes')) 
    $opt[$i][$i] = '<strong>'.$opt[$i][$i].'</strong>'; 
0

Что-то вдоль этих линий:

foreach ($opt as $i => &$arr) { 
    foreach ($arr as $j => &$val) { 
     if ($optB[$i][$j]) { 
      $val = "<strong>$val</strong>"; 
     } 
    } 
} 

Измените, при необходимости.

Смежные вопросы