[英]Change the format of JavaScript array when source is PHP
我目前正在研究laravel,我的項目要求我對下拉菜單使用自動完成功能。
但是,對象從以下返回
$companies = Companies::all()->pluck('company_name','id')->toArray();
並使用以下內容轉換為js數組
var companies = <?php echo json_encode($companies) ?>;
返回數組的以下格式
{ 2: "Jadon Technology",
58: "Samsung",
59: "Sony",
60: "Sujan",
61: "Superman",
68: "Vivo",
84: "Iphone",
85: "Oppo",
}
我想要下面給出的數組。
var companies = [
{ id: 2, value: "Jadon Technology"} ,
{ id: 58, value: "Samsung"} ,
{ id: 59, value: "Sony"} ,
{ id: 60, value: "Sujan"} ,
{ id: 61, value: "Superman"} ,
{ id: 68, value: "Vivo"} ,
{ id: 84, value: "Iphone"} ,
{ id: 85, value: "Oppo"} ,
];
我是在做錯什么,還是有其他方法可以轉換成上述格式? 請有人幫我。 歡迎包括php / laravel / javascript在內的建議。 PS:沒有foreach循環,因為我必須在同一項目的許多地方實現相同的功能。
為什么不實現一個函數來完成工作,然后在json_encode之前調用該函數:
function convert($arr) {
$tmp = array();
foreach ($arr as $k => $v) {
$tmp[] = array("id" => $k, "value" => $v)
}
return $tmp;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.