Php 如何向多维数组值添加slahes
Php 如何向多维数组值添加slahes,php,multidimensional-array,Php,Multidimensional Array,var_dump($array)提供: Array ( [data] => Array ( [0] => Array ( [name] => Mark O'Donel [id] => 35802624 ) [1] => Array
var_dump($array)代码>提供:
Array
(
[data] => Array
(
[0] => Array
(
[name] => Mark O'Donel
[id] => 35802624
)
[1] => Array
(
[name] => Da's Messager
[id] => 522505962
)
)
)
知道如何在数组中添加斜杠吗?
尝试以下操作,但不起作用:
foreach($array as $list){
foreach($list as $elt){
$name = $elt['name'];
$id = $elt['id'];
echo 'before: '. $name .'<br><br>'; // Assuming $name= "Mark O'Donel"
$list[$id] = addslashes($name);
echo 'after: '. $elt['name'] .'<br><br>'; //suppose to give Mark O\'Donel
}
}
foreach($array as$list){
foreach($elt){
$name=$elt['name'];
$id=$elt['id'];
echo'before:'.$name.
';//假设$name=“Mark O'Donel”
$list[$id]=addslashes($name);
echo'after:'.$elt['name'].
';//假设给Mark O'Donel
}
}
更改后的值必须分配给数组变量:
foreach($array as $list){
foreach($list as $index=>$elt){
$name = $elt['name'];
$id = $elt['id'];
echo 'before: '. $name .'<br><br>'; // Assuming $name= "Mark O'Donel"
$list[$index]['name'] = addslashes($name);
echo 'after: '. $elt['name'] .'<br><br>'; //suppose to give Mark O\'Donel
}
}
foreach($array as$list){
foreach($index=>$elt){
$name=$elt['name'];
$id=$elt['id'];
echo'before:'.$name.
';//假设$name=“Mark O'Donel”
$list[$index]['name']=addslashes($name);
echo'after:'.$elt['name'].
';//假设给Mark O'Donel
}
}
为什么要添加斜杠?json\u encode
处理所有需要的转义…@Lomse-重新创建json。。。。你不需要手动操作。您知道json\u encode()
函数吗?@Lomse-json\u encode()
确实正确地转义json字符串,即使对于嵌套数组也是如此。除了printJSON\uEncode($nestedArray)之外,您不需要其他任何东西
生成有效的JSON输出。如果您正在这样做,并且没有得到有效的JSON输出,那么这将需要进一步的调查,但答案不需要手动转义任何内容。在您给出的示例中,“Mark O'Daniels”
中的单引号不需要转义,因为字符串是双引号的。按照您所展示的方式使用Javascript应该不会给您带来任何问题。如果您对它有问题,那么您的javascript代码中可能有不正确的地方。如果字符串中有双引号,则需要对其进行转义,是的,json_encode()
将对其进行转义,但单引号不需要。您能否解释更改的内容和原因?添加斜杠后的值不会在数组变量中更新。