Czy elementy porządkują tę samą tablicę po podziale za pomocą array_keys () i array_values ​​()? [duplikować]

To pytanie ma już tutaj odpowiedź:

Czy kolejność zwracanych kluczy z array_keys jest taka sama jak kolejność w tablicy wejściowej? 2 odpowiedzi

Przejrzałam strony podręcznika obuarray_keys iarray_values. Żadne z nich nie powiedziało nic o tym, czy honorują kolejność elementów oryginalnej tablicy. Obiecują tylko, że zwrócą wszystkie klucze lub wartości z oryginalnej tablicy. Ale czy możemy być absolutnie pewni, że kolejność elementów będzie dokładnie taka sama jak w oryginalnej tablicy? Bez względu na to, jaką macie tablicę?

Pytam to, ponieważ mam to:

$record = array('name' => 'Lisa', 'age' => 16, 'gender' => 'female');

$fields = array_keys($record);
$values = array_values($record);

$sql = "INSERT INTO {$this -> table} (".implode(', ', $fields).") VALUES (".implode(', ', array_fill(0, count($fields), '?')).")";
$sth = $this -> dbh -> prepare($sql);
$sth -> execute($values);

Chociaż mogę używać nazwanych parametrów, ale będzie to kosztować nieco więcej kodowania, więc wolę ten sposób, który wymaga, aby elementy $ pól i $ wartości były w odpowiednich parach, najlepiej byłyby w dokładnie takiej samej kolejności, jak w oryginalnej tablicy $ record.

Dowolny pomysł?

questionAnswers(1)

yourAnswerToTheQuestion