$num) { // // $diff = $target - $num; // // if (!in_array($diff, $nums)) { // continue; // } // // foreach ($nums as $kk => $vv){ // if($kk == $k || $vv != $diff){ // continue; // } // // return [$k, $kk]; // } // // } $diff_arr = []; foreach ($nums as $k => $v){ if(!isset($diff_arr[$target - $v])){ $diff_arr[$target - $v] = $k; } if(isset($diff_arr[$v]) && $diff_arr[$v] != $k){ return [$k, $diff_arr[$v]]; } } } //$nums = [3, 3]; //$nums = [3, 2, 4]; $nums = [0, 4, 3, 0]; $target = 0; $result = two_sum($nums, $target); print_r($result);