我正试图在php中从这个数组中检索数据。
array(2) {
["getWysiwyg"]=>
string(37) "[{"basicsDescription":"<p><br></p>"}]"
["getGoal"]=>
string(27) "[{"iconURL":"","title":""}]"
}
我尝试Input::get('getWysiwyg')
它返回[{"basicsDescription":"<p><br></p>"}]
现在我怎么能得到这个值,<p><br></p>
答案 0 :(得分:1)
我看到你的数组项是json编码..
尝试解码它们:
foreach($array as $key=>$value){
$decodedValue = json_decode($value, true);
print_r($decodedValue);
}
答案 1 :(得分:1)
您必须使用json_decode(),因为字符串[{"basicsDescription":"<p><br></p>"}]
表示一个对象位于JSON的数组。
$string = '[{"basicsDescription":"<p><br></p>"}]';
$objectArray = json_decode( $string );
$ objectArray现在看起来像:
array(1) {
[0]=>
object(stdClass)#1 (1) {
["basicsDescription"]=>
string(11) "<p><br></p>"
}
}
要获取 basicsDescription 的值,您需要在索引为0的情况下访问该数组,然后您拥有该对象:
$object = $objectArray[0];
获得对象后,您可以使用对象运算符->
访问它的属性:
$object->basicsDescription;// content: <p><br></p>
简短形式:
$string = '[{"basicsDescription":"<p><br></p>"}]';// in your case Input::get('getWysiwyg')
$objectArray = json_decode( $string );
$objectArray[0]->basicsDescription;
如果可能,其中有多个项目,您应该去foreach
如果数组中代表JSON字符串的所有项目都可以使用array_map() :
$array = array(
"getWysiwyg" => '[{"basicsDescription":"<p><br></p>"}]',
"getGoal" => '[{"iconURL":"","title":""}]'
);
$array = array_map( 'json_decode' , $array );
echo "<pre>";
var_dump( $array );
这将输出:
array(2) {
["getWysiwyg"]=>
array(1) {
[0]=>
object(stdClass)#1 (1) {
["basicsDescription"]=>
string(11) "<p><br></p>"
}
}
["getGoal"]=>
array(1) {
[0]=>
object(stdClass)#2 (2) {
["iconURL"]=>
string(0) ""
["title"]=>
string(0) ""
}
}
}
答案 2 :(得分:0)
解码并打印如下
$object = json_decode(Input::get('getWysiwyg'));
print $object[0]->basicsDescription;
或直接借助数组解除引用
print json_decode(Input::get('getWysiwyg'))[0]->basicsDescription;
将输出
<p><br></p>