Если я понял вопрос, у вас две проблемы
Во-первых, вы устанавливаете значение $ x как значение в паре ключ-значение. Тогда вы отменяете ключ, который не существует. Наконец, вы ничего не возвращаете. Вот что я имею в виду:
Учитывая массив одного элемента $ arr = array ("one" => "eins") и вашу функцию suck (), вот что происходит:
Сначала вы вызываете suck ("one", $ arr). Значение $ x затем изменяется на «eins» в строке $ x = $ arr [$ x]. Затем вы пытаетесь сбросить $ x (что неверно, потому что у вас нет записи в массиве с ключом "eins"
Вы должны сделать это:
function suck($x, $arr)
{
$tmp = $arr[$x];
unset($arr[$x]);
return $tmp
}
Затем вы можете вызвать эту функцию, чтобы получить значения (и удалить пару из массива), как вы хотите. Пример:
<?php
/* gets odd numbers in german from
$translateArray = array("one"=>"eins", "two"=>"zwei", "three"=>"drei");
$oddArray = array();
$oddArray[] = suck($translateArray,"one");
$oddArray[] = suck($translateArray, "three");
?>
Результатом этого является массив, называемый translate array, представляющий собой массив с элементами ("eins", "drei");
НТН
JB