如何使用for循环PHP创建空字符串

I'm trying to create for loop giving strings empty value. How I can do it?

for ($i = 1; $i <= 24; $i++) {

    $b2_ch_v = ${'b2_g_v_'.$i}['id'];
    $$b2_ch_v = '';

}

/*
result should be:
$b2_g_v_1['id'] = '';
$b2_g_v_2['id'] = '';
[...]
$b2_g_v_24['id'] = '';
*/

Don't use variables named like $x1, $x2, $x3. You almost always want to use arrays instead. In this case, you can use an indexed array of associative arrays. This is sometimes also called a two-dimensional array.

for ($i = 0; $i < 24; $i++) {
    $b2_ch_v[$i] = ['id' => ''];
}

Then your first element becomes:

$b2_ch_v[0]

And its named elements can be referred to via:

$b2_ch_v[0]['id']

You're setting $b2_ch_v to the current contents of the id element of the array, not a reference to the array element. You need to refer to the array index in the assignment.

for ($i = 1; $i <= 24; $i++) {
    $b2_ch_v = 'b2_g_v_'.$i;
    ${$b2_ch_v}['id'] = '';
}

var_dump($b2_g_v_1); // => array(1) { ["id"]=> string(0) "" }

You don't actually need the variable, you can do the calculation in the assignment:

${'b2_g_v_'.$i}['id'] = '';

But it's best to avoid variable variables in the first place, and use arrays instead as in the other answer.