recursive function use two foreach
function add(array $arr, $n) { $sum = 0; foreach ($arr as $value) { if(is_array($value)) { $sum += $this->add($value, $n); } else { $sum += $value; } } return $sum; } $arr = [1, 2, [3, 4, [5]], 6, [7,8,9]]; $n = 1; $obj = new add($arr, $n); $result = $obj->add($arr, $n); echo $result;