Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
注意:preg_替换php中的数组到字符串转换_Php_Regex_Preg Replace - Fatal编程技术网

注意:preg_替换php中的数组到字符串转换

注意:preg_替换php中的数组到字符串转换,php,regex,preg-replace,Php,Regex,Preg Replace,我有以下find(来自mongodb)字段工作正常,但是当我尝试使用preg_replace时,我得到以下错误消息 注意:数组到字符串的转换在 我的代码: $mongorow = $collection->findOne(array('_id' => new MongoId($id))); //finds based on ID $dotodot = preg_replace("/_DOT_/", ".", $mongorow); 问题在于,$mongorow是一个数组,您将其

我有以下find(来自mongodb)字段工作正常,但是当我尝试使用preg_replace时,我得到以下错误消息

注意:数组到字符串的转换在

我的代码:

$mongorow = $collection->findOne(array('_id' => new MongoId($id))); //finds based on ID
$dotodot  = preg_replace("/_DOT_/",  ".", $mongorow);

问题在于,$mongorow是一个数组,您将其视为字符串或变量

应该是:

$dotodot = preg_replace("/_DOT_/",  ".", $mongorow['_id']);
findOne()

$str=$mongorow['whateveryouwerookingfor'];
$dotodot=preg_replace(“/”、“,$str”);

编辑:如果需要在整个数组中进行替换,请查看
array\u map()
函数。

$mongorow
是一个数组。函数pref_replace不接受数组作为第二个参数。您需要检查数组的值,并检查需要使用哪个值。选择所谓的数组值,如
$mongorow['value']


若您还并没有了解数组,请毫不犹豫地阅读本页

请告诉我如何将其视为一个数组,我只需要替换数组中存在的所有值。抱歉,我对此有点陌生:)如果我这么做:$dotodot=preg\u replace(“/\u DOT\u/”,“,$mongorow[“\u id]”);没有错误消息,但我认为它正在搜索id字段。我计划进行这些更改的字段是:$dotodot=preg_replace(“/\u DOT_/”,“,$mongorow['properties');我认为问题在于字段模式存在于一个散列字段中。如何将其转换为字符串?请尝试:
$dotodot=preg\u replace(“/”DOT\u/”,“”),内爆(“”,$mongorow))按$str=$mongorow['whateveryouwerookingfor'];?“Whateveryouwereokingfor”是指我希望在其中进行替换的字段吗?preg_replace中的第一个和第二个参数可以是字符串或数组。