我试图在循环内创建的数组之外检索一些信息。
如果我对数组位置进行硬编码,就会按预期打印出来。如果我在循环内部添加变量来打印每个数组,我什么也得不到。
$num = 0;
foreach ( $repeatable_fields as $field ) {
$num++;
$field_playback_format = $field['playback_format'];
print_r($field_playback_format[$num]);
}
什么都不打印。但是如果我用一个值替换$ num,比如说1,那么事情会回显到屏幕上。
但如果我这样做:
$num = 0;
foreach ( $repeatable_fields as $field ) {
$num++;
$field_playback_format = $field['playback_format'];
print_r($field_playback_format[1]);
}
这可以按预期工作并打印出我需要的东西。我需要在循环中执行此操作的原因是因为我构造了多个数组$field_playback_format[1]
和$field_playback_format[2]
包含不同的值,但我需要在循环内检索它们。
我无法在此位置使用变量吗?
答案 0 :(得分:0)
数组从0开始,你的脚本立即递增索引并且你有一个错误,因为最后一个循环试图得到一个不存在的数组元素,因为索引是+1而不是实际值。
试试这个:
$num = 0;
foreach ( $repeatable_fields as $field ) {
$field_playback_format = $field['playback_format'];
print_r($field_playback_format[$num]);
$num++;
}
您的第二个脚本有效,因为您打印现有元素。但是,如果您尝试使用主索引进行打印检索错误,则无法看到print_r