[英]How do I optimise this repeating var code?
我该如何优化? 这对我来说并没有真正的工作。 我需要这些代码行更少。
var a[0]="<?php echo print_r($tempa[0]["descr"], true);
?>";
var a[1]="<?php echo print_r($tempa[1]["descr"], true);
?>";
var a[2]="<?php echo print_r($tempa[2]["descr"], true);
?>";
var a[3]="<?php echo print_r($tempa[3]["descr"], true);
?>";
var a[4]="<?php echo print_r($tempa[4]["descr"], true);
?>";
var a[5]="<?php echo print_r($tempa[5]["descr"], true);
?>";
var a[6]="<?php echo print_r($tempa[6]["descr"], true);
?>";
var b[0]="<?php echo print_r($tempb[0]["descr"], true);
?>";
var b[1]="<?php echo print_r($tempb[1]["descr"], true);
?>";
var b[2]="<?php echo print_r($tempb[2]["descr"], true);
?>";
var b[3]="<?php echo print_r($tempb[3]["descr"], true);
?>";
var b[4]="<?php echo print_r($tempb[4]["descr"], true);
?>";
var b[5]="<?php echo print_r($tempb[5]["descr"], true);
?>";
var b[6]="<?php echo print_r($tempb[6]["descr"], true);
?>";
说你有:
<?php
$tempa = [
["descr" => "A0"],
["descr" => "A1"],
["descr" => "A2"],
["descr" => "A3"],
["descr" => "A4"],
["descr" => "A5"],
["descr" => "A6"],
];
$tempb = [
["descr" => "B0"],
["descr" => "B1"],
["descr" => "B2"],
["descr" => "B3"],
["descr" => "B4"],
["descr" => "B5"],
["descr" => "B6"],
];
?>
在 JavaScript 中你只需要:
const a = <?= json_encode(array_column($tempa, "descr")) ?>;
const b = <?= json_encode(array_column($tempb, "descr")) ?>;
console.log(a); // ["A0", "A1", "A2", "A3", "A4", "A5", "A6"]
console.log(b); // ["B0", "B1", "B2", "B3", "B4", "B5", "B6"]
通过使用 PHP 的array_column和json_encode 。
或者如果你喜欢 ES6 语法:
const [a, b] = <?= json_encode([
array_column($tempa, "descr"),
array_column($tempb, "descr"),
]) ?>;
console.log(a, b);
使用foreach
循环遍历每个变量,并输出该变量索引的 JavaScript 代码。
您不能使用var
声明单个数组元素。 相反,使用json_encode()
生成整个数组。
var a = <?php echo json_encode(array_column($tempa, "descr")); ?>;
var b = <?php echo json_encode(array_column($tempb, "descr")); ?>;
<?php for($i = 0; $i < 7; $i++):?>
var a[<?=$i?>]="<?php echo print_r($tempa[$i]["descr"], true);
?>";
<?php endfor;?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.