我有一个数组$ 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
)
)
我想循环使用这个数组的所有名称,然后我将在html中显示它们虽然javascript
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
on data-names =&#34;&#39;。$ name。&#39;&#34;
如何传递Names数组,以便稍后可以用html调用它们。
另外:我在一个庞大的PHP函数中写这个,所以,php写得很直接,而html在引号中。屏幕上显示的任何内容都会附加到返回变量。
答案 0 :(得分:2)
你得到的错误说你正在尝试像使用字符串一样连接数组。 你不能这样做。
你可以使用implode
将数组连接到带deilimeter的字符串(用于java脚本)
echo '<button data-number="'.implode(',', $numbers).'">Button</button>'
它会产生这样的HTML:
<button data-number="1,2,3,4">Button</button>
你可以使用java脚本split
并循环使用数字
<强> *修改 如果您的数组包含四个数组,则需要另一个循环将数组合并到一个数组