在php

时间:2015-07-01 09:29:53

标签: php arrays string

我遇到类似这样的问题:

编写一个带有可以是字符串数组或数组的参数的函数。该函数应该在它找到的每个字符串中转义引号并返回修改后的数组。

现在我的解决方案是:

function string(arr){

      foreach ($arr as $key => $value) {
        $newValue = str_replace(" ", '', $arr[$key]);
        return $arr; 
      }  
 }

我的问题是我做对了吗?我的解决方案也是对的吗?我理解正确吗?根据我的理解,我应该将字符串中的所有单引号替换为onyl。任何建议都非常感谢。非常感谢你

2 个答案:

答案 0 :(得分:2)

嗯......不,你真的没有走上正轨。

这就是我的建议。

如果您使用的是PHP 5.3 +:

function escapeQuotes(array $array)
{
     $return_array = [];
     array_walk_recursive($array, function($x) use (&$return_array)
     {
         $return_array[] = str_replace("'", "\\'", $x); 
         // note that this will escape the single quote not replace it. 
         // Not sure on the \\ behaviour though.
         // Things may get weird when returned
     }
     return $return_array;

}

答案 1 :(得分:1)

你需要这样的东西

 <?php
  function string_convert($str_or_arr){

        if(is_array($str_or_arr)){
            $new_value = array();
            foreach($str_or_arr as $str_val){
                $new_value[] = string_convert($str_val);
            }
            return $new_value[];
        } else {
             return str_replace("'","",$str_or_arr);
        }
     }
 ?>