CURL後的結果解析成數組問題

來源:互聯網
上載者:User
index.php,echo json_encode後的結果為:
{"11":{"l_id":"11","l_title":"CITS-香港觀光一天遊【品質純玩】"},"12":{"l_id":"12","l_title":"test"}}

然後用戶端代碼(client.php)如下:
$curlPost='key='.urlencode($key);$ch=curl_init();curl_setopt($ch,CURLOPT_URL,'http://www.cits-sz.net/api/index.php');curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$curlPost);$data=curl_exec($ch);curl_close($ch);echo json_decode($data,true);

得到的結果也是
{"11":{"l_id":"11","l_title":"CITS-香港觀光一天遊【品質純玩】"},"12":{"l_id":"12","l_title":"test"}}

請問要如何才能將其變成如下的方式呢,謝謝了
Array
(
[11] => Array
(
[l_id] => 11
[l_title] => CITS-香港觀光一天遊【品質純玩】
)

[12] => Array
(
[l_id] => 12
[l_title] => test
)

)



回複討論(解決方案)

因為我想將得到的結果,再插入到資料庫,就要用到
foreach($arr as $f)
但是,不是array形式的就沒辦法了

因為我想將得到的結果,再插入到資料庫,就要用到
foreach($arr as $f)
但是,不是array形式的就沒辦法了


我的目的就是,有a,b兩個站,a站上傳了很多東西也有很多表,b站要用到a站的1,2兩個表,我就想去獲得a的1,2表,然後插入到b站的資料庫裡,所以在a站有http://www.cits-sz.net/api/index.php這個檔案,然後在b站用client.php去擷取進行相關的操作。

那你就再 json_decode 一次

$s = '{"11":{"l_id":"11","l_title":"CITS-香港觀光一天遊【品質純玩】"},"12":{"l_id":"12","l_title":"test"}}';print_r(json_decode($s,1));
Array(    [11] => Array        (            [l_id] => 11            [l_title] => CITS-香港觀光一天遊【品質純玩】        )    [12] => Array        (            [l_id] => 12            [l_title] => test        ))


很奇怪啊,我用這一句,curl_setopt($ch,CURLOPT_URL,'http://www.cits-sz.net/api/index.php');顯示的就是序列化的
用這一句curl_setopt($ch,CURLOPT_URL,'localhost/szgl/api/index.php');這是本地就正常

為什麼本地和上傳到服務得到的結果不同呢??在本地就是array,在伺服器就變成string了

訪問 http://www.cits-sz.net/api/index.php
得:
無許可權訪問

我不好說什麼了

訪問 http://www.cits-sz.net/api/index.php
得:
無許可權訪問

我不好說什麼了


直接存取這個不行的,後面有一個key的,
是這個
http://www.cits-sz.net/api/index.php?key=01f34958ba730edc2ca30d65245dd6a0

訪問 http://www.cits-sz.net/api/index.php
得:
無許可權訪問

我不好說什麼了


我把這個當成用戶端的,暫時測試,地址為
http://www.cits-sz.net/api/client.php,裡面的代碼
 

用(2)在本地就可以是array,用(1)就不行了,就是原始的資訊。

訪問 http://www.cits-sz.net/api/index.php
得:
無許可權訪問

我不好說什麼了


api/index.php檔案的代碼如下:
 1000) {        die('possible deep recursion attack');    }    foreach ($array as $key => $value) {        if (is_array($value)) {            arrayRecursive($array[$key], $function, $apply_to_keys_also);        } else {            $array[$key] = $function($value);        }         if ($apply_to_keys_also && is_string($key)) {            $new_key = $function($key);            if ($new_key != $key) {                $array[$new_key] = $array[$key];                unset($array[$key]);            }        }    }    $recursive_counter--;}function JSON($array){arrayRecursive($array, 'urlencode', true);$json = json_encode($array);return urldecode($json);}$key=Reqs("key");if ($key<>'01f34958ba730edc2ca30d65245dd6a0'){echo '無許可權訪問';exit;}$sql='select l_id,l_title from '.TAB_TRAVEL_LINE.' order by l_id';$rsline=$mydb->query($sql,2);while ($fline=$rsline->movenext()){$data_line[]=$fline;}//上面那幾句是自己的讀取資料的echo $a=JSON($data_line);?>

$key='01f34958ba730edc2ca30d65245dd6a0';$curlPost='key='.urlencode($key);$ch=curl_init();curl_setopt($ch,CURLOPT_URL,'http://www.cits-sz.net/api/index.php');//(1)curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$curlPost);$data=curl_exec($ch);curl_close($ch);print_r(json_decode(substr($data, 3), 1));//去掉 BOM 頭後再解碼
Array(    [0] => Array        (            [l_id] => 11            [l_title] => CITS-香港觀光一天遊【品質純玩】        )    [1] => Array        (            [l_id] => 12            [l_title] => test        ))

$key='01f34958ba730edc2ca30d65245dd6a0';$curlPost='key='.urlencode($key);$ch=curl_init();curl_setopt($ch,CURLOPT_URL,'http://www.cits-sz.net/api/index.php');//(1)curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$curlPost);$data=curl_exec($ch);curl_close($ch);print_r(json_decode(substr($data, 3), 1));//去掉 BOM 頭後再解碼
Array(    [0] => Array        (            [l_id] => 11            [l_title] => CITS-香港觀光一天遊【品質純玩】        )    [1] => Array        (            [l_id] => 12            [l_title] => test        ))



非常感謝版主 xuzuning,問題完美解決,好人一生平安。

所以你一定不要有 BOM 頭
這樣事情就簡單了

所以你一定不要有 BOM 頭
這樣事情就簡單了



受教了,謝謝。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.