如何将数组键和值附加到 html 元素?



>我有一个如下所示的数组输出:

Array
(
[DPPSI_1_50_min] => 11
)
1
Array
(
[DPPSI_2_40_min] => 10
)
1
Array
(
[DPPSI_3_30_min] => 9
)
1
Array
(
[DPPSI_4_20_min] => 8
)
1
Array
(
[DPPSI_5_10_min] => 6.1
)
1
Array
(
[DPPSI_6_0_min] => 3.77
)
1
Array
(
[DPPSI_1_50_min] => 14
)
1
Array
(
[DPPSI_2_40_min] => 15
)
1
Array
(
[DPPSI_3_30_min] => 16
)
1
Array
(
[DPPSI_4_20_min] => 17
)
1
Array
(
[DPPSI_5_10_min] => 18
)
1
Array
(
[DPPSI_6_0_min] => 19
)
1

我需要做的是将它们附加到 html data-* 属性中。所以像这样:

<select data-DDPSI_6_0_min="19">

最好的方法是什么?我已经看到了内爆功能以及http_build_query方法。http_build_query让我非常接近,但是我留下了一堆编码字符,如下所示:

0%5BDPPSI_1_50_min%5D=11 1%5BDPPSI_2_40_min%5D=10 2%5BDPPSI_3_30_min%5D=9 
3%5BDPPSI_4_20_min%5D=8 4%5BDPPSI_5_10_min%5D=6.1 
5%5BDPPSI_6_0_min%5D=3.770%5BDPPSI_1_50_min%5D=14 1%5BDPPSI_2_40_min%5D=15 
2%5BDPPSI_3_30_min%5D=16 3%5BDPPSI_4_20_min%5D=17 4%5BDPPSI_5_10_min%5D=18 
5%5BDPPSI_6_0_min%5D=19

思潮?

假设数据数组如下所示:

$array = array(
array(
'DPPSI_1_50_min' => 11,
'DPPSI_2_40_min' => 10,
...
)
);

您可以为每个数组值创建一个 HTML 标记:

foreach ($array as $eachArray) {
foreach ($eachArray as $key => $value) { ?>
<div data-<?= $key ?>=<?= $value ?> ></div>
<?php }
}

根据您的评论编辑:

你不能连接一个缺点。您必须将标签的第一部分保存在 var 中,然后像这样连接每个数组值:

$tag ='<option value="'.$product['term_id'].'" data-details="'.$product['description'].'" data-name="' .$product['model']. '" data-serial="'.$product['serial'].'"';

foreach ( $tolerances_arr[0] as $key => $value ) { 
$tag .= " data-{$key}="{$value}" ";
}
$tag .='"> '. $product['description'].' </option>';

这是为了以防您只想在一个选项标签中创建所有自定义标签属性

听起来你最好用一个简单的foreach循环。

foreach ( $myArray as $key => $value ) {
echo "{$key}="{$value}"";
}

最新更新