将php数组值循环到html数据属性

时间:2017-07-23 22:46:51

标签: javascript php html arrays

我有一个数组$ 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在引号中。屏幕上显示的任何内容都会附加到返回变量。

1 个答案:

答案 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并循环使用数字

implode Documentation

<强> *修改 如果您的数组包含四个数组,则需要另一个循环将数组合并到一个数组