Chris: Array in Function

Beitrag lesen

Hallo!

Was muss ich ändern?

<?php

error_reporting(E_ALL);

$Arr[1][1] = "Eins";
$Arr[1][2] = "Zwei";
$Arr[1][3] = "Drei";

echo TEST(1);

$b = 1;
echo "Test:" . $Arr[$b][1] . $Arr[$b][2] . $Arr[$b][3] ;

function TEST($a,$ARR)
   {

$output .= "Test:" . $a . $Arr[$a][1] . $Arr[$a][2] .
$Arr[$a][3] . "<br>";
  $output .= "Test:" . $Arr[1][1] . $Arr[1][2] . $Arr[1][3]
. "<br>";
  return $output;
}

$out = test(1,$ARR);
   echo $out;

?>

Entweder Du übergibst eine Kopie des Arrays an die Funktion (wie hier gezeigt), oder Du übergibst eine Referenz auf die Variable:

function TEST($a,&$ARR)

Der Aufruf sieht dann in PHP aber genauso aus.

$out = test(1,$ARR);

Wenn eine Kopie übergeben wird, wird das Original-Array in der Funktion nicht geändert, egal was Du mit der Kopie anstellst. Wenn Du die Übergabe als Referenz vereinbarst, arbeitet die Funktion mit dem Original, was dann auch verändert werden kann, also quasi als zusätzlicher Rückgabewert dienen kann.

LG
Chris