5

Wordpress カスタム フィールドに次のシリアル化されたデータの文字列があります。

$first_string = 'a:9:{s:5:"email";s:13:"test@test.com";s:4:"name";s:15:"Werner  
Etsebeth";s:8:"address1";s:17:"1 Giligans  
Island";s:8:"address2";s:1:"5";s:4:"city";s:9:"Cape  
Town";s:5:"state";s:2:"AL";s:3:"zip";s:4:"7460";s:7:"
country";s:2:"US";s:5:"phone";s:0:"";}

$second_string = 'a:1:{i:4;a:1:{i:0;a:6: 
{s:3:"SKU";s:0:"";s:4:"name";s:12:"Hypnotherapy";s:3:"url";s:72:"http://localhost
/mindworksa.co.za/wordpress/store/products/hypnotherapy
/";s:5:"price";s:5:"50.00";s:8:"quantity";s:1:"1";s:8:"download";s:0:"";}}}'

$SKU = ""、$name = などの個別にアクセスできるように、情報を変数に割り当てるにはどうすればよいですか。

これまでシリアライズされたデータを扱ったことはありませんでした。

どうもありがとう

4

1 に答える 1

6

あなたの例をシリアル化解除できません (正しく貼り付けましたか?) が、Wordpress はserialize()オブジェクトをシリアル化してデータベースに格納するために使用します。

を使用してシリアル化を解除できますunserialize()

簡単な例:

$serialized = 'a:3:{i:0;s:5:"apple";i:1;s:6:"banana";i:2;s:6:"orange";}';
var_dump(unserialize($serialized));

出力:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
于 2012-11-18T14:38:59.537 に答える