У меня есть массив, в котором хранятся значения пользователей, которые будут отправлены в execute(); функция для запроса mysqli. Итак, я хочу, чтобы значения индекса были заменены.замена значения индекса массива
Теперь, что я сделал здесь, используется str_replace(); чтобы сделать это в цикле foreach, но проблема в том, как я получу обновленный массив?
$fields = array(
'field_id' => '123',
'field_name' => 'test_name'
);
foreach ($fields as $key => $field) {
$val = str_replace($key, $key, ':'.$key);
$data = array();
$data[$val] = $field;
}
//I only got the value for the last index 1st is not there
print_r($data);
//output which I am expecting will be the following
$fields = array(
':field_id' => '123',
':field_name' => 'test_name'
);
Пожалуйста, дайте мне знать, если кто-нибудь может помочь мне
Я не думаю, что str_replace будет делать то, что вы хотите. Почему бы вам просто не сделать так: '$ fields [':'. $ Key] = $ field; unset $ fields [$ key]; ' –
@ LuciaAngermüller Позвольте мне попробовать это –
' str_replace (searchterm, replacement, subject) ', вы делаете это неправильно, возможно ... также вы должны создать * пустой * массив перед циклом, а не внутри, или останется только последняя запись ... – Jakumi