2013-10-25 10 views
0

이 PHP 함수를 사용하여 일부 배열 요소를 삭제합니다.foreach() 잘못된 인수

function deleteEx ($ind, $kl) { 
    global $exs; 

    foreach ($exs as $key => $examples) 
      if ($examples['KL'] == $kl && $examples['id'] == $ind) 
       unset($exs[$key]); 
} 

내가 계산 중에 호출이 개 다른 기능이 있습니다 내에서 기능 deleteEx를 호출

function editSub() { 
    $kl= $_POST['kl']; 

    for ($i= 1; $i<= $_POST['nofexamples']; $i++) { 
     if (strcmp ($_POST['oldex'.$i], $_POST['example'.$i]) != 0) 
      deleteEx($i, $kl); 
    } 
    deleteSub (1); 
} 

:

function deleteSub ($editing) { 
    global $subs, $exs; 

    $kl= $_POST['kl']; 

    foreach ($subs as $key => $subject) 
      if ($subject['knowledgeLevel'] == $kl) 
       unset($subs[$key]); 

    if ($editing == 0) { 
      for ($i=1; $i <= count($exs); $i++) 
       deleteEx($i, $kl); 

      header("refresh:0;url=backdoor.php"); 
      exit; 
    } 
} 

2 하나가 이것이다 : 1 일이입니다 첫 번째 함수는 모두 잘 작동하고 결과는 예상 된 것입니다. 두 번째 함수 내에서 deleteEx 함수를 호출하면 경고가 나타납니다. foreach()에 잘못된 인수가 제공되어 결과가 예상 한 것과 다릅니다. 경고를 어떻게 없애겠습니까? (나는 그것이 함수가 잘 작동하지 않는 이유라고 생각한다). 모든

답변

0

먼저 죄송

global $subs,$exs; 
+0

global $subs $exs; 

교체하여 globals

에 구문 오류가 있습니다. 이전 버전을 복사했습니다. – Jannuzzo

+0

'globals'라는 단어는? (; –