gpt4 book ai didi

javascript - 将 PHP 数组转换为 JSON 对象以进行自动完成

转载 作者:行者123 更新时间:2023-12-01 01:19:26 25 4
gpt4 key购买 nike

我正在使用MaterializeCSS autocomplete并想使用我的 PHP 数组之一将所有可能的选项输出到表单中。请参阅下面的当前代码。

  const ac = document.querySelector('.autocomplete');
M.Autocomplete.init(ac, {
data: {
"Test1": null,
"Test2": null,
"Test3": null
},
});

我非常想使用一个简单的 $keysArray 来输入 Test1、Test2、Test3 选项等。但是,我从 MaterializeCSS 页面了解到,自动完成功能使用的是对象而不是数组。因此,我尝试使用各种不同的方法将 $keysArray 转换为对象:

  <?php
$keysArray = array (
"Test1",
"Test2",
"Test3"
);
?>

var tempArray = <?php echo json_decode(json_encode($keysArray)); ?>; // Doesn't work
var tempArray = <?php echo json_decode(json_encode($keysArray, JSON_FORCE_OBJECT)); ?>; // Also doesn't work

const ac = document.querySelector('.autocomplete');
M.Autocomplete.init(ac, {
data: tempArray;
});

tempArray 不起作用。如果有人能帮助我解决我做错的事情,我将非常感激。

最佳答案

将数组转换为类似的键值结构:

  $keysArray = array(
"Test1" => null,
"Test2" => null,
"Test3" => null,
);
echo json_encode($keysArray); // {"Test1":null,"Test2":null,"Test3":null}

可以用以下方式转换:

$array = array('Test1', 'Test2', 'Test3');
$keysArray = array_combine($array, array_fill(0, count($array), null));

关于javascript - 将 PHP 数组转换为 JSON 对象以进行自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54371064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com