如何在 PHP 中的另一个 foreach 中传递爆炸值
How to pass the explode value in another foreach in PHP
我正在从数据库中获取所有数据,我的列数据之一是 1|3|6|8
。
我正在使用 explode 来获取输出。
现在,我有一个从数据库中获取的复选框列表,我必须传递复选框列表中的爆炸值来选中该复选框。
<?php
$exp=explode('|', $Info['recog']); //getting from the database
print_r($exp) // output is Array ( [0] => 120 [1] => 121 [2] => 130 [3] => 156 )
foreach ($exp as $key => $e) {
print_r($e);
}
// displaying the list
foreach ($checkLists as $key => $check) {
?>
<li>
<label class="regBox">
<div class="mb-3"><img src="<?php echo $check['img'];?>" alt=""></div>
<input type="checkbox" name="recog[]" value="<?php echo $check['cid'];?>">
<p><?php echo $check['title'];?></p>
<div class="checkmark"></div>
</label>
</li>
<?php }?>
我知道我必须使用 foreach
和 <?php echo ($check['cid']==$e['value'] ? 'checked' : '');?>
好的 - 我认为因为展开的字符串会产生一个简单的数组,所以内部 foreach
循环只需要检查当前数组成员是否等于当前记录的 cid
字段。 .
<?php
$exp=explode( '|', $Info['recog'] );
foreach( $checkLists as $key => $check ) {
$checked='';
foreach($exp as $i){// simple integer
if( (int)$i == (int)$check['cid'] ){
$checked='checked';
break;
}
}
# Alternative
# $checked=in_array($check['cid'],$exp) ? 'checked' : '';
?>
<li>
<label class="regBox">
<div class="mb-3">
<img src="<?php echo $check['img'];?>" alt="" />
</div>
<input type="checkbox" name="recog[]" value="<?php echo $check['cid'];?>" <?php echo $checked;?>/>
<p><?php echo $check['title'];?></p>
<div class="checkmark"></div>
</label>
</li>
<?php
}//close outer foreach
?>
我正在从数据库中获取所有数据,我的列数据之一是 1|3|6|8
。
我正在使用 explode 来获取输出。
现在,我有一个从数据库中获取的复选框列表,我必须传递复选框列表中的爆炸值来选中该复选框。
<?php
$exp=explode('|', $Info['recog']); //getting from the database
print_r($exp) // output is Array ( [0] => 120 [1] => 121 [2] => 130 [3] => 156 )
foreach ($exp as $key => $e) {
print_r($e);
}
// displaying the list
foreach ($checkLists as $key => $check) {
?>
<li>
<label class="regBox">
<div class="mb-3"><img src="<?php echo $check['img'];?>" alt=""></div>
<input type="checkbox" name="recog[]" value="<?php echo $check['cid'];?>">
<p><?php echo $check['title'];?></p>
<div class="checkmark"></div>
</label>
</li>
<?php }?>
我知道我必须使用 foreach
和 <?php echo ($check['cid']==$e['value'] ? 'checked' : '');?>
好的 - 我认为因为展开的字符串会产生一个简单的数组,所以内部 foreach
循环只需要检查当前数组成员是否等于当前记录的 cid
字段。 .
<?php
$exp=explode( '|', $Info['recog'] );
foreach( $checkLists as $key => $check ) {
$checked='';
foreach($exp as $i){// simple integer
if( (int)$i == (int)$check['cid'] ){
$checked='checked';
break;
}
}
# Alternative
# $checked=in_array($check['cid'],$exp) ? 'checked' : '';
?>
<li>
<label class="regBox">
<div class="mb-3">
<img src="<?php echo $check['img'];?>" alt="" />
</div>
<input type="checkbox" name="recog[]" value="<?php echo $check['cid'];?>" <?php echo $checked;?>/>
<p><?php echo $check['title'];?></p>
<div class="checkmark"></div>
</label>
</li>
<?php
}//close outer foreach
?>