Php 我有两个数组,一个包含所有可能的选择选项,另一个包含应为';红色';我如何做到这一点?
控制员:Php 我有两个数组,一个包含所有可能的选择选项,另一个包含应为';红色';我如何做到这一点?,php,jquery,cakephp,Php,Jquery,Cakephp,控制员: $params = array( 'fields' => array('Course.id', 'Course.weekstart'), 'conditions' => array( 'Course.program_id' => $program_id ) ); $paramsflagged = array( 'conditions' => a
$params = array(
'fields' => array('Course.id', 'Course.weekstart'),
'conditions' => array(
'Course.program_id' => $program_id
)
);
$paramsflagged = array(
'conditions' => array(
'Course.course_full' => 1,
'Course.program_id' => $program_id
),
'fields' => array('Course.id', 'Course.weekstart')
);
$flaggedcourses = $this->Course->find('list', $paramsflagged);
$courses = $this->Course->find('list', $params);
$this->set('courses', $courses);
$this->set('flaggedcourses', $flaggedcourses);
为所有选项生成选择列表的视图(使用数组):
FlaggedCourses数组=>
Array
(
[2836] => 4 16:40:00
[2835] => 3 13:20:00
)
Array
(
[2835] => 3 13:20:00
)
那么,在该视图中创建一个新的select选项数组的最佳方法是什么,它可以向flaggedcourses数组中的选项“添加类”?使用多维数组
Array
(
[2836] => array('value'=> '4 16:40:00', 'flagged' => '')
[2835] => array('value'=> '3 13:20:00', 'flagged' => 'selected')
)
<select>
<?php foreach ($courses as $key => $course): ?>
<option id="'.$key.'" selected="'.$course['flagged'].'">
<?php echo $course['value']; ?>
</option>
<?php endforeach;?>
</select>
数组
(
[2836]=>数组('value'=>'416:40:00','flagged'=>'')
[2835]=>数组('value'=>'3 13:20:00','flagged'=>'selected')
)
试试这个
foreach ($courses as $key=>$course):
if (isset($flaggedcourses[$key])):
$color = ' style="color:red"';
else:
$color = '';
endif;
echo <<<option
<option id="{$key}"{$color}>{$course}</option>
option;
endforeach;
foreach($key=>$course的课程):
如果(isset($flaggedcourses[$key]):
$color='style=“color:red”';
其他:
$color='';
endif;
回声在哪里?我只是复制了OP的代码并添加了if语句。我很确定那里没有语法错误。一旦代码块使用了替代的PHP语法,所有的控制语句也必须使用相同的语法。这意味着if():。。。endif代码>当然你一定是新的PHP或使用一些奇怪的版本的规则,我不知道,但你错了。我向您保证,我的代码片段在语法上没有任何错误。我想您可能指的是同一个控制结构。。例如:if():/**code*/}
将抛出错误。同样地,你也会:if(){/**code*/endif;
。如果这就是你的意思,那么你是对的。否则我是对的。
<select>
<?php foreach ($courses as $key=>$course): ?>
<?php
if (array_key_exists($key, $flaggedcourses)) {
$class = ' class="flagged"';
} else {
$class = '';
}
?>
<option id="<?= $key;?>"<?= $class; ?>>
<?php echo $course; ?>
</option>
<?php endforeach;?>
</select>
foreach ($courses as $key=>$course):
if (isset($flaggedcourses[$key])):
$color = ' style="color:red"';
else:
$color = '';
endif;
echo <<<option
<option id="{$key}"{$color}>{$course}</option>
option;
endforeach;