程式邏輯有有關問題,請幫忙

來源:互聯網
上載者:User
程式邏輯有問題,請大蝦幫忙
$arr = array(
0 => array('id'=>12,'name'=>'NO.1'),
1 => array('id'=>13,'name'=>'NO.2'),
);

$_check_id = 0;
if($arr) {
foreach($arr as $v){
?>


}
}?>


程式初始狀態為上。
注意$_check_id是三種狀態,第一種是為0,即$_check_id=0,第二種是有值,但與數組中的id不相等,即$_check_id=2,第三種狀態是:$_check_id與數組中的id相等

現在要求在迴圈的時候$_check_id 與 數組中id對比
如果相等,將input中的radio選中,即狀態為checked
如果不相等,則將迴圈出來的第一個radio選為checked

當然,也可以拿出迴圈體來實現,只要能將上面的問題解決就好,想了兩三個小時了,麻煩大家給個思路吧

當然,數組也有可能為空白,這個就不用判斷了,很好解決,現在麻煩的是怎麼將上面的問題解決,想了半天,沒有頭緒,頭大了。
------最佳解決方案--------------------


$arr = array(
0 => array('id'=>12,'name'=>'NO.1'),
1 => array('id'=>13,'name'=>'NO.2'),
2 => array('id'=>14,'name'=>'NO.3'),
3 => array('id'=>15,'name'=>'NO.4'),
);

$_check_id = 14;
$found = false;
$htmls = array();
if($arr) {
foreach($arr as $v){
$input_pre = <<EOT;
$input_post = <</>{$v['name']}
EOT;
if(!$found && $_check_id == $v['id']) {
$found = true;
$input_pre .= ' checked ';
}
$htmls[] = array($input_pre, $input_post);
}
}
$htmlstr = '';
foreach($htmls as $html) {
if(!$found) {
$html[0] .= ' checked ';
$found = true;
}
$htmlstr .= implode('', $html);
}
echo $htmlstr;

可直接執行。
------其他解決方案--------------------
$arr = array(
0 => array('id'=>12,'name'=>'NO.1'),
1 => array('id'=>13,'name'=>'NO.2'),
2 => array('id'=>14,'name'=>'NO.3'),
);

$_check_id = 0;
if($arr) {
foreach($arr as &$v) {
if($_check_id == $v['id']) {
$v['check'] = ' checked';
$_check_id = -1;
}
}
if($_check_id >=0) $arr[0]['check'] = ' checked';
foreach($arr as $v){
?>
/>
}
}?>

------其他解決方案--------------------

foreach($arr as $key=>$v){
if($key == $_check_id){
//這兒是checked
continue;
}
......
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.