How to make, what function returned a multidimensional array?

$ people1 = multidimensional, an array received after a query to the database and passed through the function mysql_fetch_assoc ()

function validZero($people1){ foreach ($people1 as $delete) { $delete['children1'] != 0 ? $children1 = 1 : $children1 = 0; $delete['children2'] != 0 ? $children2 = 1 : $children2 = 0; $delete['children3'] != 0 ? $children3 = 1 : $children3 = 0; $delete['children4'] != 0 ? $children4 = 1 : $children4 = 0; } return array($children1, $children2, $children3, $children4); } 

    2 answers 2

     function validZero($people1){ $mass = array(); foreach ($people1 as $delete){ $delete['children1'] != 0 ? $children1 = 1 : $children1 = 0; $delete['children2'] != 0 ? $children2 = 1 : $children2 = 0; $delete['children3'] != 0 ? $children3 = 1 : $children3 = 0; $delete['children4'] != 0 ? $children4 = 1 : $children4 = 0; $mass[] = array($children1, $children2, $children3, $children4); } return $mass; } 

    Not?

    • thanks, what was my mistake? - Zow
    • Well, you check first. - knes
    • Checked Works - Zow
    • one
      I just added [] after the array. This is a PUSH operation, your array is overwritten at each step - knes

    I would make the assignment, after all, like this:

     $children1 = $delete['children1'] != 0 ? 1 : 0; 

    And the function itself (code partially from @knes ):

     function validZero( $people ){ $res = array(); foreach ( $people as $delete ){ $res[] = array( $delete['children1'] != 0 ? 1 : 0, $delete['children2'] != 0 ? 1 : 0, $delete['children3'] != 0 ? 1 : 0, $delete['children4'] != 0 ? 1 : 0 ); } return $res; }