How do I make it optimised? It doesn’t really work with while for me. I need these rows of code to be in less rows.
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); ?>";
Advertisement
Answer
Say you have:
<?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"], ]; ?>
all you need in JavaScript is:
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"]
by using PHP’s array_column and json_encode.
Or if you like ES6 syntax:
const [a, b] = <?= json_encode([ array_column($tempa, "descr"), array_column($tempb, "descr"), ]) ?>; console.log(a, b);