Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
Php 在add_post_meta中存储Json值_Php_Json_Wordpress_Variables - Fatal编程技术网

Php 在add_post_meta中存储Json值

Php 在add_post_meta中存储Json值,php,json,wordpress,variables,Php,Json,Wordpress,Variables,如何在add_post_meta中存储此Json值 $offer_name= $item['data'][$i]['Offer']['name']; add_post_meta($post_id, 'offer_name', $offer_name); 不会存储$offer_name的json值,但会存储普通字符串 更新1:我就是这样测试的 案例1//使用json时,不会存储该值 $offer_name= $item['data'][$i]['Offer']['name'];

如何在add_post_meta中存储此Json值

  $offer_name= $item['data'][$i]['Offer']['name'];

  add_post_meta($post_id, 'offer_name', $offer_name);
不会存储$offer_name的json值,但会存储普通字符串

更新1:我就是这样测试的

案例1//使用json时,不会存储该值

 $offer_name= $item['data'][$i]['Offer']['name']; 

echo $offer_name; // the value gets echoed .

 add_post_meta($post_id, 'offer_name', $offer_name); // the value of $offer_name doesn't  get stored 
  $offer_name="My  Name"; 

 add_post_meta($post_id, 'offer_name', $offer_name); // the value of $offer_name does get stored 
案例2//如果不使用json,则会存储值

 $offer_name= $item['data'][$i]['Offer']['name']; 

echo $offer_name; // the value gets echoed .

 add_post_meta($post_id, 'offer_name', $offer_name); // the value of $offer_name doesn't  get stored 
  $offer_name="My  Name"; 

 add_post_meta($post_id, 'offer_name', $offer_name); // the value of $offer_name does get stored 
更新2:如果我将json数据存储在“{}”中,那么该值将存储在WordPress中

$offer_name ="{$item['data'][$i]['Offer']['name']}";


add_post_meta($post_id, 'offer_name', $offer_name);
提前感谢

您需要使用。这将返回一个JSON格式的字符串,您可以使用它保存在数据库中

请注意,对于ë、–、Æ等字符,在试图将其保存到数据库中之前,应该在JSON编码的字符串上使用。这样,一旦您解码了JSON字符串,这些特殊字符就可以被正确地看到


(是的,这是非常旧的,但我自己正在搜索一些东西,并想为什么不呢?

那么,JSON值还是字符串?您希望发生什么?如果我回显$offer\u name,它将显示回显值。但它不会存储在自定义字段中。。但是如果存储一个字符串,例如=$offer_name'my name';值存储在自定义字段中。这似乎很奇怪:我认为问题不在于JSON本身,因为
add\u post\u meta()
将接受混合变量,这没有问题。您可能需要发布更多的代码。你如何检查它是否被存储?您只是在回显我们的文件,还是在使用
print\u r()
var\u dump()
?我使用了echo、print\u r()和var\u dump()。它显示了价值。。但是它不能存储在自定义字段中..我的意思是你如何检查它是否被存储?您需要验证它是否真的没有被存储,或者它是否没有正确地获取它,或者它是否没有正确地显示它。这三个不同的问题都会显示相同的症状。你应该为此付出努力:),如果没有addslashes(),我的新行字符“\n”在解码后会变成cassual字母“n”。请注意,建议在postmeta中用于JSON或Similar数据的函数是
wp\u slash()