$ab = array (
  0 => 
  array (
    'Wind Speed' => 17,
    'Wind Direction' => 'S',
    'Sunrise' => '08:45GMT',
    'Sunset' => '15:25GMT',
  ),
  1 => 
  array (
    'Wind Speed' => 13,
    'Wind Direction' => 'W',
    'Sunrise' => '08:46GMT',
    'Sunset' => '15:26GMT',
  ),
  2 => 
  array (
    'Wind Speed' => 24,
    'Wind Direction' => 'S',
    'Sunrise' => '08:46GMT',
    'Sunset' => '15:26GMT',
  ),
);$o1= array('S', 'W', 'N', 'E');
$r1= array('南风', '西风', '北风', '东风');for ($i = 0; $i < count($ab); $i++) {
if (isset($ab[$i]['Wind Direction'])) {
$ab[$i]['Wind Direction'] = str_replace($o1,$r1,$ab[$i]['Wind Direction']);
}
}
echo "<pre>";
print_r($ab);
echo "</pre>";

解决方案 »

  1.   


    $o1= array('\'S\'', '\'W\'', '\'N\'', '\'E\'');
    $r1= array('\'南风\'', '\'西风\'', '\'北风\'', '\'东风\'');
    $q = str_replace($o1, $r1, var_export($ab, true)); 
      

  2.   

    因为var_export把数组变成字符串,所以数组的索引也在替换之列,所以要么遍历数组只替换值,要么就替换'S'.
      

  3.   


    $o1 =array("/'S'/", "/'W'/", "/'N'/", "/'E'/");
    $r1= array("'南风'", "'西风'", "'北风'", "'东风'");$q = preg_replace($o1, $r1, var_export($ab, true)); 
    print_r($q);