簡體   English   中英

從Javascript中的多維PHP數組獲取值

[英]Get Values From Multidimensional PHP Array inside Javascript

這是我的情況:

我有一個包含2個字段的MYSQL數據庫: 'ID''string' “字符串”字段以序列化數組的形式存儲字符串 因此,要將其提取回來,我使用以下PHP代碼:

$rez=mysql_query("SELECT * FROM drawings") or die(mysql_error());

$array=array();

while($row=mysql_fetch_array($rez))
{
    $array[]=unserialize($row['string']);
}

現在我的$ array變量應該包含一個數組數組,對嗎? 假設我做的正確,然后echo $array; 所以我的ajax調用將它捕獲在return_data內,如下所示:

var return_data = hr.responseText;

為了測試是否可以提取值,我嘗試實現以下代碼,但似乎不起作用:

var arr = return_data.split(",");
var sub_arr = arr[0].split(",");
alert(sub_arr[0]);

我究竟做錯了什么?

附加信息:

我基本上是在MYSQL數據庫中存儲一堆坐標,每行是一個單獨的坐標數組,例如(12,13,14,16,17,20)-這些將包含在一行中的3個“點”。

然后,我使用ajax調用以數組的形式從數據庫中提取所有記錄,該數組包含多個數字的數組(我知道每個相鄰的2個數字組成一個點)。

編輯:

chrome javascript控制台輸出:

事件處理程序中“未定義”的錯誤:無法讀取未定義Type的屬性“ disable_serps_pos_numbers”:無法在BasePlugin.GooglePlugin.getSomeCorePrefs(chrome-extension:// akdgnmcogleenhbclghlklkd_js:129 /。 48)在chrome-extension://akdgnmcogleenhbclghghlkkdndkjdjc/lib/lib.js:44:25在miscellaneous_bindings:287:9在Event.dispatchToListener(event_bindings:356:21)在Event.dispatch_(event_bindings:342:27) .dispatch(event_bindings:362:17)位於Object.chromeHidden.Port.dispatchOnMessage(miscellaneous_bindings:253:22)

while($row=mysql_fetch_array($rez))
{
    $array[]=unserialize($row['string']);
}

echo json_encode($array);

然后在Javascript代碼中(假設使用jQuery):

$.parseJSON(return_data)

然后,您可以像在Javascript中使用2D數組一樣使用它。

使用jQuery和PHP隨附的標准函數將數組轉換為JSON數據並返回數組。

像PHP中的json_encode()和json_decode()

和JS: 在JavaScript中解析JSON?

首先,我強烈建議您切換為SQL查詢使用PDO,但是要回答您說的問題,請執行以下操作:

echo $ array;

這將導致錯誤的數組到字符串轉換。

我建議使用echo json_encode($ array); 它將數組轉換為json對象。

http://php.net/manual/en/function.json-encode.php

暫無
暫無

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

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