una objetos matriz hacer convertir convert como array 3x3 php arrays associative

objetos - php dictionary



¿Cómo convertir una matriz simple a una matriz asociativa? (4)

Si alguien todavía se está preguntando cómo hacer esto, hay una solución más fácil para esto utilizando la función array_combine .

$array = array(1, 2, 3, 4, 5); $assoc = array_combine($array,$array);

¿Cuál es la forma más rápida de convertir una matriz simple en una matriz asociativa en PHP para que los valores puedan verificarse en el isset($array[$value]) ?

Es decir, la forma más rápida de hacer la siguiente conversión:

$array = array(1, 2, 3, 4, 5); $assoc = array(); foreach ($array as $i => $value) { $assoc[$value] = 1; }


Simplemente usa esta lógica

$var1 = json_encode($arr1, JSON_FORCE_OBJECT); $var1 = json_decode($var1);

donde $ arr1 es la matriz que se debe convertir en matriz asociativa. Esto se puede lograr con json_encode y json_decode lo mismo


Su código es el equivalente exacto de:

$assoc = array_fill_keys(array(1, 2, 3, 4, 5), 1); // or $assoc = array_fill_keys(range(1, 5), 1);

array_flip() , aunque puede funcionar para su propósito, no es lo mismo.

PHP ref: array_fill_keys() , array_flip()


array_flip() está haciendo exactamente eso:

array_flip () devuelve una array en orden flip, es decir, las claves de trans se convierten en valores y los valores de trans se convierten en claves.

Tenga en cuenta que los valores de trans deben ser claves válidas, es decir, deben ser integer o string . Se emitirá una advertencia si un valor tiene el tipo incorrecto, y el par clave / valor en cuestión no se volteará .

Si un valor tiene varias apariciones, la última clave se utilizará como sus valores y todas las demás se perderán.

Pero aparte de eso, solo hay un tipo de matriz en PHP. Incluso las matrices numéricas ("simples", como usted lo llama) son asociativas.