首页 > 解决方案 > 将 php 对象反序列化为数组

问题描述

我有一个对象,我试图将其反序列化为一个数组。对象是

a:15:{s:10:"brand-name";a:6:{s:4:"name";s:10:"Brand Name";s:5:"value";s:9:"Yimunancy";s:8:"position";s:1:"0";s:10:"is_visible";s:1:"1";s:12:"is_variation";s:1:"0";s:11:"is_taxonomy";s:1:"0";}s:8:"material";a:6:{s:4:"name";s:8:"Material";s:5:"value";s:18:"Polyester, spandex";s:8:"position";s:1:"1";s:10:"is_visible";s:1:"1";s:12:"is_variation";s:1:"0";s:11:"is_taxonomy";s:1:"0";}s:4:"type";a:6:{s:4:"name";s:4:"Type";s:5:"value";s:9:"Bodysuits";s:8:"position";s:1:"2";s:10:"is_visible";s:1:"1";s:12:"is_variation";s:1:"0";s:11:"is_taxonomy";s:1:"0";}s:9:"item-type";a:6:{s:4:"name";s:9:"Item Type";s:5:"value";s:19:"Jumpsuits & Rompers";s:8:"position";s:1:"3";s:10:"is_visible";s:1:"1";s:12:"is_variation";s:1:"0";s:11:"is_taxonomy";s:1:"0";}s:12:"model-number";a:6:{s:4:"name";s:12:"Model Number";s:5:"value";s:4:"3702";s:8:"position";s:1:"4";s:10:"is_visible";s:1:"1";s:12:"is_variation";s:1:"0";s:11:"is_taxonomy";s:1:"0";}s:11:"fabric-type";a:6:{s:4:"name";s:11:"Fabric Type";s:5:"value";s:4:"Mesh";s:8:"position";s:1:"5";s:10:"is_visible";s:1:"1";s:12:"is_variation";s:1:"0";s:11:"is_taxonomy";s:1:"0";}s:6:"gender";a:6:{s:4:"name";s:6:"Gender";s:5:"value";s:5:"WOMEN";s:8:"position";s:1:"6";s:10:"is_visible";s:1:"1";s:12:"is_variation";s:1:"0";s:11:"is_taxonomy";s:1:"0";}s:12:"pattern-type";a:6:{s:4:"name";s:12:"Pattern Type";s:5:"value";s:5:"Solid";s:8:"position";s:1:"7";s:10:"is_visible";s:1:"1";s:12:"is_variation";s:1:"0";s:11:"is_taxonomy";s:1:"0";}s:8:"fit-type";a:6:{s:4:"name";s:8:"Fit Type";s:5:"value";s:6:"skinny";s:8:"position";s:1:"8";s:10:"is_visible";s:1:"1";s:12:"is_variation";s:1:"0";s:11:"is_taxonomy";s:1:"0";}s:10:"decoration";a:6:{s:4:"name";s:10:"Decoration";s:5:"value";s:4:"Lace";s:8:"position";s:1:"9";s:10:"is_visible";s:1:"1";s:12:"is_variation";s:1:"0";s:11:"is_taxonomy";s:1:"0";}s:5:"color";a:6:{s:4:"name";s:5:"Color";s:5:"value";s:73:"black, white, red, wine red, army green, blue, light purple, lenon yellow";s:8:"position";s:2:"10";s:10:"is_visible";s:1:"1";s:12:"is_variation";s:1:"0";s:11:"is_taxonomy";s:1:"0";}s:5:"style";a:6:{s:4:"name";s:5:"style";s:5:"value";s:13:"fashion, sexy";s:8:"position";s:2:"11";s:10:"is_visible";s:1:"1";s:12:"is_variation";s:1:"0";s:11:"is_taxonomy";s:1:"0";}s:6:"season";a:6:{s:4:"name";s:6:"season";s:5:"value";s:22:"spring, autumn, summer";s:8:"position";s:2:"12";s:10:"is_visible";s:1:"1";s:12:"is_variation";s:1:"0";s:11:"is_taxonomy";s:1:"0";}s:9:"pa_colour";a:6:{s:4:"name";s:9:"pa_colour";s:5:"value";s:0:"";s:8:"position";s:2:"13";s:10:"is_visible";s:1:"1";s:12:"is_variation";s:1:"1";s:11:"is_taxonomy";s:1:"1";}s:7:"pa_size";a:6:{s:4:"name";s:7:"pa_size";s:5:"value";s:0:"";s:8:"position";s:2:"14";s:10:"is_visible";s:1:"0";s:12:"is_variation";s:1:"1";s:11:"is_taxonomy";s:1:"1";}}Array ( [brand-name] => Array ( [name] => Brand Name [value] => Yimunancy [position] => 0 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [material] => Array ( [name] => Material [value] => Polyester, spandex [position] => 1 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [type] => Array ( [name] => Type [value] => Bodysuits [position] => 2 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [item-type] => Array ( [name] => Item Type [value] => Jumpsuits & Rompers [position] => 3 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [model-number] => Array ( [name] => Model Number [value] => 3702 [position] => 4 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [fabric-type] => Array ( [name] => Fabric Type [value] => Mesh [position] => 5 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [gender] => Array ( [name] => Gender [value] => WOMEN [position] => 6 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [pattern-type] => Array ( [name] => Pattern Type [value] => Solid [position] => 7 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [fit-type] => Array ( [name] => Fit Type [value] => skinny [position] => 8 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [decoration] => Array ( [name] => Decoration [value] => Lace [position] => 9 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [color] => Array ( [name] => Color [value] => black, white, red, wine red, army green, blue, light purple, lenon yellow [position] => 10 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [style] => Array ( [name] => style [value] => fashion, sexy [position] => 11 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [season] => Array ( [name] => season [value] => spring, autumn, summer [position] => 12 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [pa_colour] => Array ( [name] => pa_colour [value] => [position] => 13 [is_visible] => 1 [is_variation] => 1 [is_taxonomy] => 1 ) [pa_size] => Array ( [name] => pa_size [value] => [position] => 14 [is_visible] => 0 [is_variation] => 1 [is_taxonomy] => 1 ) )

如果我使用 print_r() 反序列化它,我得到:

Array ( [brand-name] => Array ( [name] => Brand Name [value] => Yimunancy [position] => 0 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [material] => Array ( [name] => Material [value] => Polyester, spandex [position] => 1 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [type] => Array ( [name] => Type [value] => Bodysuits [position] => 2 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [item-type] => Array ( [name] => Item Type [value] => Jumpsuits & Rompers [position] => 3 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [model-number] => Array ( [name] => Model Number [value] => 3702 [position] => 4 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [fabric-type] => Array ( [name] => Fabric Type [value] => Mesh [position] => 5 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [gender] => Array ( [name] => Gender [value] => WOMEN [position] => 6 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [pattern-type] => Array ( [name] => Pattern Type [value] => Solid [position] => 7 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [fit-type] => Array ( [name] => Fit Type [value] => skinny [position] => 8 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [decoration] => Array ( [name] => Decoration [value] => Lace [position] => 9 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [color] => Array ( [name] => Color [value] => black, white, red, wine red, army green, blue, light purple, lenon yellow [position] => 10 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [style] => Array ( [name] => style [value] => fashion, sexy [position] => 11 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [season] => Array ( [name] => season [value] => spring, autumn, summer [position] => 12 [is_visible] => 1 [is_variation] => 0 [is_taxonomy] => 0 ) [pa_colour] => Array ( [name] => pa_colour [value] => [position] => 13 [is_visible] => 1 [is_variation] => 1 [is_taxonomy] => 1 ) [pa_size] => Array ( [name] => pa_size [value] => [position] => 14 [is_visible] => 0 [is_variation] => 1 [is_taxonomy] => 1 ) )

但是如果我尝试打印,$array->name我会得到输出,0如果我尝试打印$array[0],我会得到 Undefined offset: 0.

我知道这很愚蠢,但我尝试了多种方法来访问数组元素,但我不知所措。

如果有人能指出我正确的方向,那将是非常受欢迎的!

提前致谢

标签: phparrays

解决方案


推荐阅读