2013-03-09 5 views
0

Я многомерный массив:Foreach для многомерных массивов

Array (
    [0] => Array (
    [0] => Kolkata Knight Riders v Delhi Daredevils 
    [1] => Kolkata 
) 
    [1] => Array (
    [0] => Royal Challengers Bangalore v Mumbai Indians 
    [1] => Bangalore 
) 
    [2] => Array (
    [0] => Sunrisers Hyderabad v Pune Warriors 
    [1] => Hyderabad (Deccan) 
) 
    [3] => Array (
    [0] => Delhi Daredevils v Rajasthan Royals 
    [1] => Delhi 
) 
    ... 3 more elements 
) 

Я хочу:

  • explode каждый первый элемент из элементов массива на основе «против», так что я могу получить team A отдельно от Team B. (например, array[0][0] отделяет Kolkata Knight Riders и Delhi Daredevils).
  • Создайте новый массив, в котором я хочу удалить пробелы между именем команды из обоих взорванных массивов (например, Sunrisers Hyderabad станет SunrisersHyderabad).

Я попытался следующий код:

$i = 0; 
foreach($match1 as $value){ 
    $teams[$i] = explode(' v ', $value[0]); // Exploding teams 
    $teams[$i] = strip_tags($teams[$i], 'a'); // Eliminating html 

    $teamA[] = explode(' ', $team[$i][0]); // Eliminating Space in Team Name 

    $teamA[] = trim($match2[$i]); // Removing white spaces 
    $teamB[] = str_replace(' ', '', $team[$i][1]); // Trying Str_Replace method 
    $teamB[] = trim($match3[$i]); // Removing White Spaces 
    $i++; 
} 

Приведенный выше код не кажется, чтобы заполнить мои все требования. Любой полезный код?

ответ

0

Прежде всего: Пожалуйста, используйте логические имена для переменных, то сценарий становится нечитаемым, если вы используете имена переменных, как match, real_match, match1, match2.

echo '<pre>'; 
$data = array(
    array(
     'Kolkata Knight Riders v Delhi Daredevils', 
     'Kolkata', 
    ), 
    // ... 
); 

foreach ($data as $match) { 
    $teams = explode(' v ', $match[0]); 
    $teams = array_map(function ($team) { 
     return trim(str_replace(' ', '', $team)); 
    }, $teams); 

    // do something with the 2 normalized teams in $teams 

    var_dump($teams); 
} 
+0

Обозначения переменных – Nandla

+0

$ команды - пустая строка, когда я заполняю ее через print_r ($ teams); – Nandla

+0

@nandla хорошо, вы понимаете это сейчас, но через 3 недели вы не знаете, откуда взялись эти имена. Используйте хорошие имена переменных для читаемости кода не только для нас. –

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