Si estoy profundamente en un nido de bucles Me pregunto cuál de ellos es más eficiente:Poblar una matriz de PHP: verifique primero el índice?
if (!isset($array[$key])) $array[$key] = $val;
o
$array[$key] = $val;
La segunda forma es mucho más deseable en la medida de código tan legible va. En realidad, los nombres son más largos y la matriz es multidimensional. Entonces, la primera forma termina pareciendo bastante retorcida en mi programa.
Pero me pregunto si la segunda forma podría ser más lenta. Dado que el código está en una de las funciones más ejecutadas en el programa, me gustaría usar la forma más rápida.
En general, este código se ejecutará muchas veces con el mismo valor de "$ key". Entonces, en la mayoría de los casos $ array [$ key] ya estará configurado, y isset() devolverá FALSE.
Para aclarar para aquellos que temen que estoy tratando el código no idéntico como si fuera idéntico: en lo que respecta a esta parte del programa, $ val es una constante. No se conoce hasta el tiempo de ejecución, pero está configurado anteriormente en el programa y no cambia aquí. Entonces ambas formas producen el mismo resultado. Y este es el lugar más conveniente para obtener $ val.
El manual de PHP dice que "isset()" es una "construcción del lenguaje", no una función . Así que espero que la sobrecarga en realidad sea mínima. Supongo que tendré que perfilarlo y ver. –