-1

How I can use for loop PHP to create same result in $d4_c_d_v as below?

Note: $d4_c_d_v must end without comma at the end.

$d4_c_d_v = 
$g_demographics_value_0['id'] .','.
$g_demographics_value_1['id'] .','.
$g_demographics_value_2['id'] .','.
$g_demographics_value_3['id'] .','.
$g_demographics_value_4['id'] .','.
$g_demographics_value_5['id'] .','.
$g_demographics_value_6['id'] .','.
$g_demographics_value_7['id'] .','.
$g_demographics_value_8['id'] .','.
$g_demographics_value_9['id'];

I've tried so far:

for ($i = 0; $i <= 9; $i++) {

  $d4_c_d_v .= ${'g_demographics_value_'.$i[$i]};

}

echo $d4_c_d_v;
mickmackusa
  • 43,625
  • 12
  • 83
  • 136

1 Answers1

1

I personally wouldn't set up my data storage this way, but variable variables can do the trick.

The $i condition is checking for a non-zero value. So every iteration except the first adds a comma.

Code: (Demo)

$g_demographics_value_0['id'] = 'a';
$g_demographics_value_1['id'] = 'b';
$g_demographics_value_2['id'] = 'c';
$g_demographics_value_3['id'] = 'd';
$g_demographics_value_4['id'] = 'e';
$g_demographics_value_5['id'] = 'f';
$g_demographics_value_6['id'] = 'g';
$g_demographics_value_7['id'] = 'h';
$g_demographics_value_8['id'] = 'i';
$g_demographics_value_9['id'] = 'j';

$d4_c_d_v = '';
for($i = 0; $i < 10; ++$i) {
    if ($i) {
        $d4_c_d_v .= ',';
    }
    $d4_c_d_v .= ${"g_demographics_value_$i"}['id'];
}
echo $d4_c_d_v;

Output:

a,b,c,d,e,f,g,h,i,j
mickmackusa
  • 43,625
  • 12
  • 83
  • 136