- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发这个显示每个日期内事件的日历。用户看到的事件就是与用户相关的事件。该关系是通过 MySQL 多对多表建立的。它工作正常。只有当我的用户没有与他相关的事件时,我才会遇到问题。在那种情况下,in_array php 函数会给我这个错误:
Notice: Undefined variable: cleanDataArray in C:\xampp\htdocs\sistema-navalha\calendario_teste.php on line 51
Warning: in_array() expects parameter 2 to be array, null given in C:\xampp\htdocs\sistema-navalha\calendario_teste.php on line 51
我知道问题是我的用户没有给我任何稍后将由 in_array 函数计算的值,但我无法找到一个合理的替代方案。在这种情况下重要的代码是这样的:
$stmt = $db->prepare("SELECT * FROM events WHERE
id_events = ( SELECT id_events FROM relationship_events WHERE id_user = ?)");
$stmt->bindParam(1, $idUser);
$stmt->execute();
$rawTimeStamps = $stmt->fetchAll(PDO::FETCH_ASSOC);
$cleanDateArray = array();
foreach ($rawTimeStamps as $t) {
$rawDate = $t['start'];
$rawDate = getdate($rawDate);
$cleanDate = mktime(0,0,0,$rawDate['mon'],$rawDate['mday'],$rawDate['year']);
$cleanDataArray[] = $cleanDate;
}
for($list_day = 1; $list_day <= $days_in_month; $list_day++):
$calendar.= '<td class="calendar-day">';
$timestamp = mktime(0,0,0,$month,$list_day,$year);
if (in_array($timestamp, $cleanDataArray)) {
$date = getdate($timestamp);
$time_start = mktime(0,0,0,$date['mon'],$date['mday'],$date['year']);
$time_end = mktime(23,59,59,$date['mon'],$date['mday'],$date['year']);
$stmt = $db->prepare('SELECT title FROM events WHERE start BETWEEN ? AND ?');
$stmt->bindParam(1,$time_start,PDO::PARAM_INT);
$stmt->bindParam(2,$time_end,PDO::PARAM_INT);
$stmt->execute();
$events = $stmt->fetch(PDO::FETCH_ASSOC);
$calendar.= '<div class="day-number day-number-event"><a href="#">'.$list_day.'</a></div><p>'.$events["title"].'</p>';
} else {
$calendar.= '<div class="day-number day-number-noevent">'.$list_day.'</div><div id="calendar-events"></div>';
}
$calendar.= '</td>';
if($running_day == 6):
$calendar.= '</tr>';
if(($day_counter+1) != $days_in_month):
$calendar.= '<tr class="calendar-row">';
endif;
$running_day = -1;
$days_in_this_week = 0;
endif;
$days_in_this_week++; $running_day++; $day_counter++;
endfor;
希望有人能解决
最佳答案
您有一个拼写错误,初始化为 cleanDateArray 并且您正在传递 cleanDataArray...cleanDataArray 未在记录检索循环之外初始化。我只想更改您的初始化,您应该没问题。
关于php - 当变量为空时使用 IN_ARRAY 获取错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13239044/
是 in_array() php多字节安全功能? 如果没有,我怎样才能做到这一点? php.net 多字节引用列表 mb_stristr()但它接受一个字符串,而不是像 haystack 那样的数组。
这真的不应该这么复杂,这表明我做错了什么,但在检查文档后我无法弄清楚是什么。 我正在尝试使用这段代码($level 作为参数传入)进行简单检查,以查看“标签”的类型是否在此操作期间要使用的类型列表中:
我正在使用 in_array如果值存在,则在数组中搜索。我的代码如下: $file = 'domains.txt'; //reading txt file $lines = file($file);/
我不知道是什么导致了这个问题,但我会在下面发布代码,然后查看我到目前为止所做的事情以及我得到的结果。 $client_emails = array( 'email@ex-one.com' =>
我有一个数组,我应用 in_array 函数在该数组中查找特定数字,但没有显示结果,数据在数组内但没有响应..:( 数组: Array ( [0] => SimpleXMLElement Objec
我有一个通过分解字符串形成的数组,如下所示。 $interest_array = explode(',', $user->interests); 当我 var_dump 这个数组时,我得到 array
这个问题已经有答案了: PHP in_array() / array_search() odd behaviour (2 个回答) 已关闭 7 年前。 对于这个数组 ($options) : Arra
我正在构建一个对象数组。我需要这个数组仅包含给定对象的一个实例,对同一对象的多个引用应该引发异常。我使用以下代码来实现此目的: public function addField ($name, i
这个问题在这里已经有了答案: A problem about in_array (3 个回答) PHP's variable type leniency (3 个回答) 4年前关闭。 在验证 Cont
此代码应返回 TRUE 值: 但是 in_array 返回 FALSE。 最佳答案 in_array 检查数组中是否存在一个值。 你的 $needle 作为 $haystack 的值根本不存在 如果
我有一个通过分解字符串形成的数组,如下所示。 $interest_array = explode(',', $user->interests); 当我 var_dump 这个数组时,我得到 array
我在阿拉伯语中使用 in_array 函数...in_array ('من', $words) 在 $words 真正包含 من 的地方给出 true。 但是 in_array('من', $stop
我有一个简单的 in_array() 和一个数组作为下面的针示例,但是我希望我的示例应该回显; match found in the array 鉴于两根针都存在于大海捞针中。但是,此代码不会产生 e
我试图从两个不同的文本文件中获取两个不同的数字,将它们放入一个变量中,然后将其与 MYSQL 数组进行比较。我的问题是,当我定义三个变量时: $num = 42; $whichPlaylist = 2
因此,我尝试使用 in_array 从数据库中回调列表,然后通过执行以下操作来检查这些结果,以查看数组中是否存在“Title”字段。 $qGetAllTitles = "SELECT ArticleT
所以我遇到了一个无法解决的奇怪问题,我不知道问题是什么以及应该如何解决它。 我有一个简单的加载图像的系统,称为快照。每一张快照,都有喜欢。这就是我加载快照和相关(数量)喜欢的方式: /* * Get
我有以下数组: Array ( [0] => Array ( [video_id] => 161162806 ) [1] =>
名为users 的数据库表有一列timemarks。 timemark 字段如下所示。11:00:00、13:45:00、17:00:00、18:25:00(时间-每个用户的分数不同) 我的 php
您好,我正在尝试使用 in_array,我认为我的语法是正确的,但它说“第二个参数的数据类型错误” 我的代码是 $result = mysqli_query($con, "SELECT * FROM
我正在使用 PDO 方法从数据库中获取数组: $statement = $db->prepare("SELECT sname FROM list WHERE ongoing = 1;"); $stat
我是一名优秀的程序员,十分优秀!