以下代码显示错误
第22,28和29行的“未定义的偏移:2”
baz
答案 0 :(得分:1)
我不确定您要实现的目标,但要让您的代码正常运行,请尝试以下方式:
$sql = "SELECT email FROM CommercialEmails WHERE dripid = 1 AND sent='a'";
$results = array();
$hey = array();
if ($resultsd1 = mysqli_query($conn, $sql )) {
$affectedrows = mysqli_num_rows($resultsd1);
while ($row = mysqli_fetch_row($resultsd1)){
$results[] = $row;
If(substr($row[0], -4) !== "com,"){
$hey[] = $row[0];
}
}
}
if (count($hey)==0){
echo "There are no emails";
} else {
foreach( $hey as $value){
echo $value;
}
echo $hey;
}
正如您所看到的,我完全删除了您不需要的许多变量,直到您能够解释目标为止。
我已经删除了你的奇怪条件if
:
if (substr($broken[$hi], -4) == "com," && $broken[$hi] == "qwert"){
$hey[$hi] = $broken[$hi];
$hello++;
}
因为没有$broken[$hi]
的这个值可以等于'qwert'
并且'com'
作为子字符串在里面。所以这个编码总是错误的,我们可以删除它。
尝试解释你的目标。希望我能帮到你。
答案 1 :(得分:0)
这意味着$ broken数组没有3个元素(ofset index = 2)。
我看不到那个$ hi var被设置为2的位置,但它是代码中的某个地方你猜不出来。
答案 2 :(得分:0)
在while循环中,而不是global $results;
,而在while循环开始之前,只需将$ results声明为空数组$results = array();
然后在while循环结束后执行print_r($results);
以查看它是否包含您期望的内容。