0

我有一个多维数组:

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数组元素的每个第一个元素都基于“v”,这样我就可以从中team A分离Team B.(例如array[0][0]分离Kolkata Knight RidersDelhi Daredevils)。
  • 创建一个新数组,我想从两个展开的数组中删除团队名称之间的空格(例如Sunrisers Hyderabadbecome 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++;
}

上面的代码似乎不能满足我的所有要求。有什么有用的代码吗?

4

1 回答 1

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);
}
于 2013-03-09T17:43:42.760 回答