如何转换PHP数组以在JavaScript脚本中使用
嗨,我有一个这样的数组如何转换PHP数组以在JavaScript脚本中使用,javascript,php,arrays,Javascript,Php,Arrays,嗨,我有一个这样的数组 Array ( [0] => Array ( [t_name] => London, Heathrow ) [1] => Array ( [t_name] => Lilongwe, Malawi ) [2] => Array ( [t_name] => Harare,Zimbabwe ) [3] => Array ( [t_name] => Lahore,Pakist
Array ( [0] => Array ( [t_name] => London, Heathrow )
[1] => Array ( [t_name] => Lilongwe, Malawi )
[2] => Array ( [t_name] => Harare,Zimbabwe )
[3] => Array ( [t_name] => Lahore,Pakistan )
[4] => Array ( [t_name] => Accra, Ghana )
[5] => Array ( [t_name] => Entebbe, Uganda )
[6] => Array ( [t_name] => Nairobi )
[7] => Array ( [t_name] => Abuja, Nigeria )
)
[{"t_name":"London, Heathrow"},{"t_name":"Lilongwe, Malawi"},
{"t_name":"Harare,Zimbabwe"},{"t_name":"Lahore,Pakistan"},{"t_name":"Accra, Ghana"},
{"t_name":"Entebbe, Uganda"},{"t_name":"Nairobi"},{"t_name":"Abuja, Nigeria"}]
我想把它转换成JavaScript。
应该是这样的
我尝试过json_编码,但它会将其转换为类似的格式
Array ( [0] => Array ( [t_name] => London, Heathrow )
[1] => Array ( [t_name] => Lilongwe, Malawi )
[2] => Array ( [t_name] => Harare,Zimbabwe )
[3] => Array ( [t_name] => Lahore,Pakistan )
[4] => Array ( [t_name] => Accra, Ghana )
[5] => Array ( [t_name] => Entebbe, Uganda )
[6] => Array ( [t_name] => Nairobi )
[7] => Array ( [t_name] => Abuja, Nigeria )
)
[{"t_name":"London, Heathrow"},{"t_name":"Lilongwe, Malawi"},
{"t_name":"Harare,Zimbabwe"},{"t_name":"Lahore,Pakistan"},{"t_name":"Accra, Ghana"},
{"t_name":"Entebbe, Uganda"},{"t_name":"Nairobi"},{"t_name":"Abuja, Nigeria"}]
但我希望它能像那样转换
[
"London, Heathrow",
"Lilongwe, Malawi",
"Harare,Zimbabwe",
"Lahore,Pakistan",
"Accra, Ghana",
"Entebbe, Uganda",
"Nairobi",
"Abuja, Nigeria",
"Lagos, Nigeria"
]
在json_编码您的数组之前,您需要首先使用array_column获取单个列的值,即t_name,并回显结果数组。试一试
$arr = Array (Array ( 't_name' => 'London, Heathrow' ),Array ( 't_name' => 'Lilongwe, Malawi' ),Array ( 't_name' => 'Harare,Zimbabwe' ),Array ( 't_name' => 'Lahore,Pakistan' ),Array ( 't_name' => 'Accra, Ghana' ),Array ( 't_name' => 'Entebbe, Uganda' ),Array ( 't_name' => 'Nairobi' ),Array ( 't_name' => 'Abuja, Nigeria' ));
echo json_encode(array_column($arr,'t_name'));
使用循环将名称提取到简单数组中:
$new_array = array();
foreach ($array as $obj) {
$new_array[] = str_replace(' ', '', $obj['t_name']);
}
echo json_encode($new_array);
如果您想在输出中使用不同的结构,那么相应地调整您的输入…如何做到这一点我正在使用code igniter并从数据库中获取结果,这就是它如何返回数组以及在我转换它时,我使用codeigniters自己的方法从数据库中获取结果数组,上面是它返回的结果。您可能将该数组存储在变量中,只需将该变量作为echo json_encodearray_列$your_array,'t_name'放入其中即可;也就是说,如果你在你的问题中发布的值看起来是这样的,那么它肯定会起作用。你和@Barmar way work都给了我数组,但是数组中有空格,现在如何删除它们我基本上想在自动完成输入字段中使用它们。你能展示一些你在哪里得到空格的文本吗?我已经完成了成功了。顺便问一下,我如何删除我的帖子?它们中有空格如何删除?为什么需要删除它们?所需输出中有空格。但如果要使用空格,请使用str_replace。WTP?我正在创建一个自动完成的输入字段,这样空格就会变得一团糟,如何在数组中使用srt_replace我将它用于字符串,但不用于数组在将字符串分配到数组时在字符串上使用它。我已经更新了答案。