输出数组,因此可以用作数据属性的值

时间:2017-07-25 19:40:57

标签: php arrays json

我在PHP中有一个数组,我正在循环以获取内容。

当回显时,我的数组变量$myArray的结果如下所示

Array(
  [0] => ABC
  [1] => DEF
  [2] => GHI
  [3] => JKL
     )
Array(
  [0] => MNO
  [1] => 123A
  [2] => 123B
  [3] => 123C
     )
Array(
  [0] => orange
  [1] => yellow
  [2] => green
  [3] => blue
     )

但是当我使用

将其传递给html数据元素时
data-results = "$myArray"

我得到了

Notice: Array to string conversion 

错误。

如何将它作为一个数组传递给html数据元素?

3 个答案:

答案 0 :(得分:2)

如果要将数组打印到等效字符串中,可以使用:

$stringArray = print_r($array, true);
echo $stringArray;

如果您希望将其打印为JSON字符串,可以使用:

$array = array('a', 'b', 'c');
echo json_encode($array);

答案 1 :(得分:1)

我想,您可以使用以下代码。如果数组值具有特殊字符,它将起作用。

<div data-results="<?php echo htmlspecialchars(json_encode($myArray), ENT_QUOTES, 'UTF-8'); ?>"></div>

答案 2 :(得分:0)

这可能已经在其他地方得到了回答,但你无法回应数组。您只能回显标量值或对其具有__toString()方法的对象。

所以它是data-results="{$myArray[0][0]}"或者你的情况下的其他东西,因为你有一个多维数组。你可能想要的是某种for循环:

foreach ($myArray as $arr) {
   foreach ($arr as $value) {
        echo "data-rule={$value}";
   }
}