簡體   English   中英

初學者的PHP問題—多維數組中的“:”

[英]Beginner's PHP question — “:” in a multidimensional array

我正在嘗試訪問以前創建的多維數組中的信息。 使用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"]以獲取“講座”,或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];

感謝您的幫助!

看起來您的某些數組值已被序列化。 查看PHP的反序列化功能。 這樣做將允許您按照描述訪問數組元素。

例如:

print_r(unserialize($key_array[Video][0]));

數組元素被序列化。 反序列化它們,它們將更易於訪問。

$videoArray = unserialize($myArray['Video'][0]);

還有一件事:

如果您想格式化回聲代碼,請下次嘗試使用

echo "<pre>";
print_r($data);
echo "</pre>";

使用unserialize($ object);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM