我正在尝试访问先前创建的多维数组中的信息。使用print_r()
,我已经获得了关于数组的信息(我自己已经分开了,可能已经这么奇怪了......):
Array (
[Video] => Array (
[0] => a:3:{
s:19:"upload_video_submit";
s:0:"";
s:12:"upload_video";
s:26:"this-is-the-video-link.mp4";
s:12:"video_length";
s:8:"10-10-10";
}
)
[_edit_last] => Array ( [0] => 1 )
[_edit_lock] => Array ( [0] => 1288823181 )
[key] => Array (
[0] => a:4:{
s:4:"game";
a:2:{
i:0;
s:4:"9man";
i:1;
s:5:"18man";
}
s:4:"type";
a:1:{
i:0;
s:7:"Lecture";
}
s:5:"coach";
a:1:{
i:0;
s:8:"msusyr24";
}
s:12:"upload-video";
s:70:"http://localhost:8888/pocarr/wp-content/uploads/2010/09/BigCupcake.flv";
}
)
)
我想访问密钥数组中的数组,例如
echo $key_array[key][0]["type"]
获取“Lecture”,或echo $key_array[Video][0]["upload_video"]
获取“this-is-the-videolink.mp4”......但我对“:”s完全感到困惑
我能说的最多是“s”=一个字符串,数字是字符数(类似“a”=数组)。
如何从阵列中获取该信息的任何想法?
更新 我最终使用了:
$new = unserialize($keys_array[Video][0]);
echo $new[upload_video];
谢谢你的帮助!
答案 0 :(得分:4)
看起来您的某些数组值已经过序列化。查看PHP的unserialize函数。这样做将允许您按照描述访问数组元素。
例如:
print_r(unserialize($key_array[Video][0]));
答案 1 :(得分:3)
数组元素已序列化。对它们进行反序列化,它们将更容易访问。
$videoArray = unserialize($myArray['Video'][0]);
答案 2 :(得分:3)
还有一件事:
如果您想格式化您的回音代码,请尝试下次使用
echo "<pre>";
print_r($data);
echo "</pre>";
答案 3 :(得分:1)
使用unserialize($ object);