Necesito una cadena única de una matriz para poder saber cuándo cambia sin medir las entradas de esa matriz. Estoy tratando de determinar si es computacionalmente eficiente calcular un valor en lugar de agregar código para detectar cambios en la matriz. La matriz en sí puede tener una variedad de valores y para pruebas futuras no quiero probar y medir si se han agregado nuevos valores a la matriz, prefiero simplemente crear una cadena o hash que cambie si la matriz misma cambios.Cómo producir una cadena única de una matriz php
Así, por ejemplo:
$a = Array(
'var1' => 1,
'var2' => 2,
'var3' => 3,
);
Si tuviera que utilizar md5(http_build_query($a))
tal vez con una ksort
añadido para confirmar que el orden de las teclas no han cambiado esto podría entonces producir una cadena única que puedo usar para compare con otra ejecución de la aplicación para evaluar si la matriz ha cambiado.
Estoy buscando soluciones alternativas, posiblemente más rápidas o más elegantes para esto.
'array_diff()'? – drudge
No creo que array_diff se ocupe de verificar si el orden de las claves ha cambiado. Podrías json_encode the array y tomar un hash de eso. Puede que desee comprobar el rendimiento de json_encode y http_build_query. – Endophage
duplicado ...... – dynamic