2015-03-23 6 views
-1

Я пытаюсь разделить содержимое, забирающий из БД несколько слов рядом с изображением и оставшееся содержимое в пункте нижеЯ получаю Undefined смещение ошибки PHP

Я получаю неопределенные ошибки смещения: 41

Ниже приведен код ... он выполняется правильно, но с ошибкой уведомления, как указано выше. Можете ли вы помочь мне исправить это.

<div class="contentfont" style="padding-left:20px; text-align:left;"> 
<?php 

$words = explode(" ",$dcontent); 
$cntWords = count($words); 
$splitWords = round($cntWords/2); 

for ($i=0;$i<=$splitWords;$i++) 
{ 
print $words[$i].' '; 
$halfPoint = $i; 
} 
?> 

<p class="contentfont" style="padding-top:10px;"> 
<?php 
for ($i=$halfPoint;$i<=$cntWords;$i++) 
{ 
print $words[$i].' ';// This print statement is causing me this error  Notice: Undefined offset: 41 in D:\xampp\htdocs\training\admin-panel\php\sai_devotees_detail.php on line 106 
} 
?> 
</p> 
+0

Отформатируйте свой код правильно, и кто-то может помочь вам. Кроме того, люди не читатели разума. Вам необходимо указать, где происходит ошибка, и то, что вы пробовали. –

ответ

0

Неопределенное смещение в этом случае означает, что вы читаете за длиной массива $ words. Попробуйте $ cntWords - 1 для потолка такого цикла:

for ($i = $halfway; $i <= $cntWords -1; $i++) { 

$ halfPoint = $ i; также находится вне цикла. Попробуйте вместо этого:

for ($i = 0; $i <= $splitWords; $i++) { 
    print $words[$i] . ' '; 
    $halfPoint = $i; 
} 

При выполнении цикла в PHP без скобок, только первое заявление после того, как она будет выполнена. Таким образом, в этом случае $ i не существует, чтобы назначить его $ halfPoint. Не думайте, что это умно, чтобы свести все в одну строку. Это вызовет проблемы.

+0

Если я поместил содержимое внутри цикла, также нет разницы, все равно я получаю сообщение об ошибке –

+0

Какая строка является ошибкой? –

+0

Обновленный ответ. –

Смежные вопросы