2013-05-07 2 views
-1

나는 $classes_data라는 연관 배열을했습니다 :PHP의 연관 배열에 새 키 - 값 쌍을 삽입하는 방법은 무엇입니까? 다음과 같이

Array 
(
    [2] => Array 
     (
      [class_id] => 2 
      [class_name] => II 
      [subjects] => Array 
       (
        [0] => 11 Engllish 
       ) 

     ) 

    [3] => Array 
     (
      [class_id] => 3 
      [class_name] => III 
      [subjects] => Array 
       (
        [0] => Hidi 
        [1] => 11 Maths 
        [2] => 11 Science 
        [3] => 11 Engllish 
       ) 

     ) 

    [4] => Array 
     (
      [class_id] => 4 
      [class_name] => IV 
      [subjects] => Array 
       (
        [0] => Physics 
       ) 

     ) 

    [6] => Array 
     (
      [class_id] => 6 
      [class_name] => VI 
      [subjects] => Array 
       (
        [0] => Mathematics 
        [1] => dfadadadsagfasrsarasrarBiology 
       ) 

     ) 

    [7] => Array 
     (
      [class_id] => 7 
      [class_name] => VII 
      [subjects] => Array 
       (
        [0] => Physics 
        [1] => Chemistry11 
        [2] => 11 Science 
       ) 

     ) 

    [8] => Array 
     (
      [class_id] => 8 
      [class_name] => VIII 
      [subjects] => Array 
       (
        [0] => Hidi 
        [1] => 11 Engllish 
       ) 

     ) 

    [9] => Array 
     (
      [class_id] => 9 
      [class_name] => IX 
      [subjects] => Array 
       (
        [0] => Mathematics 
        [1] => Hidi 
        [2] => 11 Science 
       ) 

     ) 

) 

배열의 키 (. 즉 2,3,4,6,7,8,9)이이 방식에 대신 0,1 , 2,3,4,5,6이 키를 재정렬하기 위해 하나의 함수를 사용했기 때문입니다.

이제 새 키 class_checked을 삽입하고 초기 값을 0 (즉, class_checked =>"0")으로 설정하고 싶습니다.

많은 트릭을 시도했지만 원하는 배열 형식을 얻을 수 없었습니다. 어느 누구도 원하는 어레이를 얻을 수 있습니까? 미리 감사드립니다. 로 될 것입니다 귀하의 정보를 배열 $classes_data에 필요한 배열 형식에 대한

은 다음과 같습니다

Array 
    (
    [2] => Array 
     (
      [class_id] => 2 
      [class_name] => II 
      [class_checked] => 0 
      [subjects] => Array 
       (
        [0] => 11 Engllish 
       ) 

     ) 

    [3] => Array 
     (
      [class_id] => 3 
      [class_name] => III 
      [class_checked] => 0 
      [subjects] => Array 
       (
        [0] => Hidi 
        [1] => 11 Maths 
        [2] => 11 Science 
        [3] => 11 Engllish 
       ) 

     ) 

    [4] => Array 
     (
      [class_id] => 4 
      [class_name] => IV 
      [class_checked] => 0 
      [subjects] => Array 
       (
        [0] => Physics 
       ) 

     ) 

    [6] => Array 
     (
      [class_id] => 6 
      [class_name] => VI 
      [class_checked] => 0 
      [subjects] => Array 
       (
        [0] => Mathematics 
        [1] => dfadadadsagfasrsarasrarBiology 
       ) 

     ) 

    [7] => Array 
     (
      [class_id] => 7 
      [class_name] => VII 
      [class_checked] => 0 
      [subjects] => Array 
       (
        [0] => Physics 
        [1] => Chemistry11 
        [2] => 11 Science 
       ) 

     ) 

    [8] => Array 
     (
      [class_id] => 8 
      [class_name] => VIII 
      [class_checked] => 0 
      [subjects] => Array 
       (
        [0] => Hidi 
        [1] => 11 Engllish 
       ) 

     ) 

    [9] => Array 
     (
      [class_id] => 9 
      [class_name] => IX 
      [class_checked] => 0 
      [subjects] => Array 
       (
        [0] => Mathematics 
        [1] => Hidi 
        [2] => 11 Science 
       ) 

     ) 

) 

답변

4

시도 :

foreach($classes_data as $key=>$value) { 
    $classes_data[$key]['class_checked'] = 0; 
} 
+0

감사합니다. Dharmesh Patel. 이것은 내가 실제로 원했던 것이다. 귀하의 코드는 나를 위해 마술을 실제로했습니다. 당신의 소중한 도움에 다시 한번 감사드립니다. – PHPLover

3
$array = array_map(function (array $i) { return $i + array('class_checked' => 0); }, $array); 

또는 :

foreach ($array as &$i) { 
    $i['class_checked'] = 0; 
} 
unset($i); 
+0

감사 deceze. 너의 마술은 나를 위해 정말로 잘 돌아갔다. 내 요구 사항에 따라 원하는 배열을 얻었다. 큰 도움을 주셔서 다시 한번 감사드립니다. – PHPLover

0

주어진 초기 $classes_data 당신이 할 수 있습니다 :

foreach($classes_data as &$class) { 
    $class['class_checked'] = 0; 
} 

이제 어레이가 원하는대로되어야합니다.

관련 문제