Wie kann ich PHP zwingen, Zeichenfolgen für Array-Schlüssel zu verwenden?
Wie kann ich PHP dazu zwingen, Strings für Array-Schlüssel zu verwenden?
In PHP werden Array-Schlüssel in der Regel automatisch in Ganzzahlen umgewandelt, wenn sie numerisch sind, und in Strings, wenn sie es nicht sind. Sie können jedoch die "array" -Funktion verwenden, um alle Schlüssel dazu zu zwingen, als Strings behandelt zu werden, wie folgt:
<?php
$array = array("first" => "value1", 2 => "value2");
$new_array = array("first", "second");
$new_array = array_combine($new_array, $array);
print_r($new_array);
Dadurch werden die Schlüssel des Arrays in Strings umgewandelt, selbst wenn sie ursprünglich Ganzzahlen sind.
Eine weitere Möglichkeit, sicherzustellen, dass alle Schlüssel als Strings behandelt werden, besteht darin, die json_encode()
-Funktion zu verwenden und anschließend json_decode mit der Option assoc auf true einzustellen.
<?php
$array = array("first" => "value1", 2 => "value2");
$json = json_encode($array);
$new_array = json_decode($json, true);
print_r($new_array);
Bitte beach