嘿,我被困在一块小东西上。
我确实已经为JS数组准备好了结构,但是我需要将其分配给类似
的变量var data ={ Php array }
这是我的php数组的结构:https://imgur.com/a/LPbCqEu
这只是数组的一部分。
我的代码如下:
$csvfile = 'Property_CSVTruncated.csv';
$handle = fopen($csvfile, 'r');
$jsData = array(
'properties' =>array()
);
$header = NULL;
while (($row = fgetcsv($handle, 1000000, ',')) !== FALSE) {
$i = 0;
if (!$header) {
$header = $row;
} else {
$data = array_combine($header, $row);
$fields = array(
'_id' => $data['C4021040'],
'index' => $i,
'price' => $data['123'],
'picture' => "https://ihatetomatoes.net/demos/_rw/01-real-estate/tn_property01.jpg",
'city' => "Calgary",
'MLS# ' => $data['C4021040'],
'address' => $data['6 ASPEN RIDGE LN SW'],
'latitude' => $data['51.045681'],
'longitude' => $data['-114.191544'],
'Bed' => $data['123'],
'Bath' => $data['123'],
'capSpaces' => $data['T3H 5H9'],
);
array_push($jsData['properties'], $fields);
}
$i++;
}
fclose($handle);
$str = "const data = ";
print($str);
header('Content-type: application/json');
json_encode($jsData, JSON_NUMERIC_CHECK);
$jsonFile = fopen('csvTojs.js', 'w');
fwrite($jsonFile, json_encode($jsData));
fclose($jsonFile);
所以基本上我需要字符串'var data =',然后打印数组。
是否可以在PHP本身中做到这一点?
谢谢
答案 0 :(得分:1)
在服务器中,回显json_encode($ phpArray)并退出; 在ajax或init js变量的回调中,使用JSON.parse('jsonString');将json解析为数组;
答案 1 :(得分:1)
使用json_encode()
<script>
var data = <?php echo json_encode($jsData, JSON_PRETTY_PRINT); ?>
</script>
或者您的情况:
header('Content-Type: application/json');
echo json_encode($jsData);
exit;