好的我正在查询数据库并使用结果填充数组,但我不想重复。
@Bean
public ConnectionManager connectionManager() throws Exception{
boolean isLive = true; /* This should be variable based on my environment */
return new ConnectionManager (isLive);
}
在我的思维方式中,如果已经存在具有相同$ start的条目,则不应该向数组添加新条目,但出于某种原因,它仍然会添加它。
谁能看到我哪里出错了?
答案 0 :(得分:2)
<input name="date_from" placeholder="Choose Date" class="input-small filter-element datepicker-dmy" data-date-format="dd-mm-yyyy" type="text" ng-model="date_from">
<input name="date_to" placeholder="Choose Date" class="input-small filter-element datepicker-dmy" data-date-format="dd-mm-yyyy" type="text" ng-model="date_to">
设置为$start
)返回的字符串。 date('c',...
是一个数组,其中每个元素也是一个数组。
因此,当您测试$input_arrays
时,它将测试您的字符串是否等于in_array($start, $input_arrays, true)
数组中的每个数组。字符串总是不等于数组,特别是因为您指定了$input_arrays
,这意味着类型必须匹配。
根据您的需要,有多种方法可以解决这个问题,包括......
true
编辑:要根据日历模块的要求获取带有密钥0,1,2,...的 ...
if ( !array_key_exists($start, $input_arrays) ){
$input_arrays[$start]= array(title => $title, start => $start, end => $end, color => $color, allDay => $allday);
}
...
,请在$input_arrays
循环后添加此语句:
while
答案 1 :(得分:1)
$start
设置为date('c',...
)返回的字符串。 $input_arrays
是一个数组,其中每个元素也是一个数组。非空字符串始终不等于非空数组,因此in_array
始终返回false。试试这个......
$start = date('c', $row['start_time']);
$startTimesAlreadyAdded = [];
while (strtotime($end) < $row['end_time']){
$title = 'Teacher Available';
$color = '#a3a3a3';
$end = date('c', strtotime($start) + hoursToSeconds($row_Branch['session']));
$allday = ($row['allDay'] == "1") ? true : false;
if ( !in_array($start, $startTimesAlreadyAdded) ) {
$input_arrays[] = array(title => $title, start => $start, end => $end, color => $color, allDay => $allday);
$startTimesAlreadyAdded[] = $start;
}
$start = date('c', strtotime($end));
}
根据您的日历模块的要求,这将为$input_arrays
提供密钥0,1,2,....