使用此数组值将此更改为JSON格式。
$prices = array("250", "350", "400", "678", "800", "1000");
var opt = {
milestones: {
1: {
mlPos: 250, ---> (set $price value)
mlId: false,
mlClass: 'bi-custom',
mlDim: '200%',
mlLabel: 'Milestone one',
mlLabelVis: 'hover',
mlHoverRange: 15,
mlLineWidth: 1
},
2: {
mlPos: 350, ---> (set $price value)
mlId: false,
mlClass: 'bi-custom',
mlDim: '200%',
mlLabel: 'Milestone two',
mlLabelVis: 'hover',
mlHoverRange: 15,
mlLineWidth: 1
},
3: {
mlPos: 400, ---> (set $price value)
mlId: false,
mlClass: 'bi-custom',
mlDim: '200%',
mlLabel: 'Milestone one',
mlLabelVis: 'hover',
mlHoverRange: 15,
mlLineWidth: 1
},
4: {
mlPos: 678,---> (set $price value)
mlId: false,
mlClass: 'bi-custom',
mlDim: '200%',
mlLabel: 'Milestone two',
mlLabelVis: 'hover',
mlHoverRange: 15,
mlLineWidth: 1
},
5: {
mlPos: 800,---> (set $price value)
mlId: false,
mlClass: 'bi-custom',
mlDim: '200%',
mlLabel: 'Milestone two',
mlLabelVis: 'hover',
mlHoverRange: 15,
mlLineWidth: 1
}
}
};
我们有数组格式$price
的php变量转换为javascript变量,就像这个json格式一样,问题不是将php变量转换为javascript变量问题只是将php数组转换为json格式,如上格式。 / p>
任何人都请帮忙
谢谢。
答案 0 :(得分:1)
在使用json_encode将数组转换为对象之前,您还可以使用JSON_FORCE_OBJECT
选项:
$prices = array( "250", "350", "400", "678", "800", "1000" );
$row = [
'mlPos' => null,
'mlId' => false,
'mlClass' => 'bi-custom',
'mlDim' => '200%',
'mlLabel' => 'Milestone two',
'mlLabelVis' => 'hover',
'mlHoverRange' => 15,
'mlLineWidth' => 1
];
$rows = [];
foreach( $prices as $price ) {
$rows[] = (object) array_replace( $row, [ 'mlPos' => $price ] );
}
$opt = [ 'milestones' => (object) $rows ];
echo json_encode( $opt, JSON_FORCE_OBJECT );
// output {"milestones":{"0":{"mlPos":"250","mlId":false,"mlClass":"bi-custom", ...
答案 1 :(得分:0)
请提及您在json中需要的预期格式以及您需要转换为json的输入。
JSON_PRETTY_PRINT
以上将满足您的需求。但是为了提供答案,请清楚解释。
我认为你也使用CakePHP 3.0?
您可以从那里获得答案,或在实施前使用此链接,
http://www.dyn-web.com/tutorials/php-js/json/array.php
请准确地说明你的问题。
答案 2 :(得分:-3)
试试这个:
json_encode在php>中可用5.2.0:
echojson_encode($row);