2013-06-14 7 views
2

내 사이트에서 Foreach 루프를 사용하여 악몽을 꾸고 있습니다.foreach 루프에서 정의되지 않은 오프셋

내가 점점 오전 오류 :

메시지가 : 오프셋 정의되지 않은 : 0

내가 뭘하고 싶은 것이 있다면, 물론 & 카테고리의 일치가 있는지 확인 이상적으로 그들의 아코디언을 보여주지 않습니다.

다음 내 데이터의 출력은

....

배열 ( [0] => stdClass 개체 ( [Course_ID에] => 2 [COURSE_TITLE] =>하거나 귀하의 비즈니스를 시작 한 휴식 [[course_description] => 확인 또는 브레이크, 귀하의 비즈니스를 시작. [course_cost] => 35.99 [delivery_method_id] => 1 [subcategory_id] => 1 [course_duration] => 2 시간 course_lev 엘] => 중간 [DATE_ADDED] => 2013년 6월 14일 9시 57분 49초 [date_edited] => [상태] => 활성 ) )

그러나 나는 또한 무엇입니까 하늘의 배열은 다음과 같습니다 ( )

내 코드입니다

배열 :

.
<div class="row"> 
<div class="span12"> 


    <h1><span class="green"><?=$category_details[0]->category_title; ?></span></h1> 

    <p><?=$category_details[0]->category_description; ?></p> 

    <? if(empty($courses[0][0])) { ?> 
    <p>Their are currently no courses in this category.</p> 
    <? } else { ?> 

    <p>Courses in <?=$category_details[0]->category_title; ?></p> 

    <div class="accordion-content"> 
     <? foreach($subcategories as $subcategory) : ?> 
      <h3><a href="#"><?=$subcategory->subcategory_title; ?></a></h3> 
       <div> 
        <? foreach($courses as $course): ?> 
         <? if($course[0]->subcategory_id == $subcategory->subcategory_id) { ?> 
         <ul class="accordion-course"> 
          <? foreach($course as $course): ?> 
          <li> 
            <a href="<?=base_url(); ?>view-course/<?=$course->course_id; ?>" title="View Course - <?=$course->course_title; ?>"> 
             <?=$course->course_title; ?> - &pound; <?=$course->course_cost; ?> 
            </a> 
            <a class="course-btn pull-right" href="<?=base_url(); ?>view-course/<?=$course->course_id; ?>" title="View Course - <?=$course->course_title; ?>"> 
             View Course 
            </a> 
          </li> 
          <? endforeach; ?> 
         </ul> 
         <? } ?> 
        <? endforeach; ?> 
       </div> 
     <? endforeach; ?> 
    </div> 

    <? } ?> 

</div> 
<?= $template['_partials']['user_navigation']; ?> 

오류 라인은 질문이다 : :-(

<? if($course[0]->subcategory_id == $subcategory->subcategory_id) { ?> 

희망 누군가가 나에 자신을 찾아이 오프셋 악몽에 저를 도울 수

+3

그냥 팁, php 태그에' Novocaine

+1

'$ course [0] -> subcategory_id로 무엇을 의미합니까?' –

+0

실제로 $ course는 배열입니까? 아마도'$ course-> subcategory_id'를 의미 할 것입니다. –

답변

3

[0] 때를 지정할 필요가 없습니다 당신은 foreach 루프를 사용하고 있습니다.

<?php if($course->subcategory_id == $subcategory->subcategory_id) { ?> 
1

이 줄을 시도

if($course[0]->subcategory_id == $subcategory->subcategory_id) { ?> 

당신이 배열의 첫 번째 요소에 액세스하려고하지만 당신은 이미 루핑하고 I를 측면으로

if($course->subcategory_id == $subcategory->subcategory_id) { ?> 

을하지 필요하지 않은 것처럼 보인다 php 긴 태그를 사용해야한다고 생각하십니까? <?php .... ?> 짧은 태그 대신 <?...?>

+0

@Fabio에 감사드립니다. 지금부터 긴 태그를 사용하기 시작할 것입니다. – StuBlackett

+1

@StuBlackett 당신은 환영합니다. – Fabio

관련 문제