배열 요소에 할당 된 id 값을 가져 오려고합니다. 내가 겪고있는 문제는 foreach를 통해 70 개의 루프마다 하나의 id를 할당한다는 것입니다. 나는이 책에서 내가 뭘 잘못하고 있는지 확실히 모른다.배열 요소가 foreach 루프에 할당되지 않았습니다.
$search = 'echem';
$data = array();
$tags = null;
$i = 0;
//var_dump($this->videos);
foreach ($this->videos as $key => $value) {
foreach ($value as $key => $value) {
if ($key === 'id') {
$data[$i]['id'] = (int)$value;
}
if ($key == 'tags') {
$tags = explode(',', $value);
}
//echo $key . ' - ';
if (is_array($tags)) {
foreach ($tags as $key => $value) {
if (strtoupper($value) == strtoupper($search)) {
//echo 'Search Found <br/>';
$data[$i]['found'] = 1;
}
//echo $value.', ';
}
//echo '<br/>';
}
if (!isset($data[$i]['found'])) {
$data[$i]['found'] = 0;
}
$data[$i]['subId'] = $i;
$i++;
}
}
당신은 메신저는 $ 키는 다음 코드에 맞춰 8 ID가 있는지 확인 볼 수 있습니다 :
if ($key === 'id') {
$data[$i]['id'] = (int)$value;
}
그때를 통해 실행 나타나는 루프의 나머지를 통해 실행
필요에 따라 모든 것을 할당하십시오. 키 ID는 모든 루프의 첫 번째 키이므로이를 할당하지 않으면 왜 저를 곤란하게 만듭니다. 어떤 도움이라도 대단히 감사합니다. 위해서 var_dump의
출력() :
array (size=58086)
0 =>
array (size=3)
'id' => int 1
'found' => int 0
'subId' => int 0
1 =>
array (size=2)
'found' => int 0
'subId' => int 1
2 =>
array (size=2)
'found' => int 0
'subId' => int 2
3 =>
array (size=2)
'found' => int 0
'subId' => int 3
4 =>
array (size=2)
'found' => int 0
'subId' => int 4
5 =>
array (size=2)
'found' => int 1
'subId' => int 5
6 =>
array (size=2)
'found' => int 0
'subId' => int 6
7 =>
array (size=2)
'found' => int 0
'subId' => int 7
'위해서 var_dump ($ 데이터)'은'foreach' 후에 무엇을 생산 하는가? – Matt
이 컨텍스트에서는 문제가 발생하지 않지만 중첩 된'foreach' 루프에서는'$ value'를 덮어 쓰면 안됩니다. – Matt
세 개의 foreach 루프 모두'$ key => $ value'를 사용합니다 - 따라하기 다소 혼란 스럽습니다. 코드를 쉽게 유지 관리하려면 다른 이름을 지정해야합니다. – andrewsi