Как правильно внести в array динамичные данные?

впервые сталкиваюсь с такой проблемой, сижу уже 3+ часов и не могу понять как мне решить ее.

Заранее скажу, использую библиотеку RedBeanPHP и там должен быть код в таком формате:

R::getAll('select * from link where UserNick = :nick',
    array(':nick'=>$usrnick)
);

В чем суть: В скрипте есть всего 4 значения, для начала я начал работать с первыми двумя, там идёт Ник формата Dima_Dima (суть не важна какой формат), и IP адрес. Если данные не пустые я вот этим скриптом формирую запрос и добавляю в array (array($peremennaya)):

function addArray($arrayadd, $add, $and = true) {
    if ($arrayadd) {
        if ($and) $arrayadd .= ", $add";
    }
    else $arrayadd = $add;
    return $arrayadd;
}

Итог получается такой (var_dump): array(1) { [0]=> string(33) "":nickp"=>$plrnck, ":ipp"=>$plrip" }

P.s - $plrnck - это переменная с ником, я специально сделал чтобы он писал именно ее, так что смогу вернуть чтобы писал ник.

Посидев и подумав я понял, что таким образом array тупо вносит весь текст под 0 не разбирая это на части.

Если сделать вручную то итог такой: array(2) { [":nickp"]=> string(9) "Dima_Dima" [":ipp"]=> string(13) "111.111.111.111" }

Так вот, как мне сделать, чтобы в array писалось как в ручном варианте?

Заранее спасибо за помощь!


Ответы (1 шт):

Автор решения: sdasadf

Во втором случае это - ассоциативный массив. Чтоб добавить новых элементов:

$arrayadd[':ipp'] = $plrip;

или, если нужно добавить массив:

$arrayadd = array_merge($arrayadd, array(':ipp'=>$plrip));

если нужно обязательно создавать функцию, то:

function addArray(array $already_exists_array, array $array_to_add){
    if($array_to_add){
        return array_merge($already_exists_array,$array_to_add);
    }
    return $already_exists_array;
}
→ Ссылка