>我有一个数组$myArray
Array (
[0] => Array (
[Number] => 039
[Fruit] => Apple
[Level] => Low
[Names] =>
Array (
[6] => Name 1
[7] => Name 2
[19] => Name 3
[25] => Name 4
)
)
[0] => Array (
[Number] => 007
[Fruit] => Plum
[Level] => High
[Names] =>
Array (
[3] => Name 1
[5] => Name 2
[9] => Name 3
[11] => Name 4
[12] => Name 5
[19] => Name 6
[22] => Name 7
[30] => Name 8
)
)
[0] => Array (
[Number] => 486
[Fruit] => Grape
[Level] => Medium
[Names] =>
Array (
[6] => Name 1
[15] => Name 2
)
)
我想遍历这个数组以获取所有名称集,然后稍后我将通过 javascript 在 html 中显示它们
for($index=0; $index < count($myArray); $index++){
$name = array_values(array_filter($myarray[$index]["Name"]));
<button type="button" class="open-my-modal btn btn-primary"
data-names="'.$name.'"
名称的输出如下
Array (
[0] => Name 1
[1] => Name 2
[2] => Name 3
[3] => Name 4
)
Array (
[0] => Name 1
[1] => Name 2
[2] => Name 3
[3] => Name 4
[4] => Name 5
[5] => Name 6
[6] => Name 7
[7] => Name 8
[8] => Name 9
)
Array (
[0] => Name 1
[1] => Name 2
)
稍后在我的代码中,我想遍历每组数字并将它们打印到屏幕上。例如,遍历第一个数组并打印名称 1-4。
我收到一个错误
Notice: Array to string conversion
在数据名称="'.$name.'
"我怎样才能传递名称数组,以便以后可以在 html 中调用它们。
另外:我正在一个巨大的php函数中编写这个,因此,php编写简单,html在引号中。 屏幕上显示的任何内容都将追加到返回变量中。
您收到的错误表明您正在尝试像连接字符串一样连接数组。 你做不到。
您可以使用implode
将数组连接到带有 Deilimeter 的字符串(用于 Java 脚本(
echo '<button data-number="'.implode(',', $numbers).'">Button</button>'
它将像这样产生 HTML:
<button data-number="1,2,3,4">Button</button>
你可以用java脚本split
它并循环数字
内爆文档
*编辑如果您的数组包含四个数组,则需要另一个循环将数组合并为一个数组