Cómo obtener la longitud de una matriz en Smarty
Revise la carpeta smarty/plugins y descubra que no hay ningún método relacionado con count. En otras palabras, count llama directamente al método en php.
Más tarde, a través de información en Internet, descubrí que puedes agregar @ delante del recuento para obtener la longitud de la matriz correctamente. Al profundizar en el código fuente de Smarty, encontramos que cuando Smarty procesa el nombre del método después del ajustador de atributos, realizará un procesamiento especial en el nombre del método precedido por @. Por lo tanto, tomamos esta decisión:
Al llamar a una función definida en PHP en el ajustador de atributos de Smarty, se puede expresar agregando @.
1. Al probar el método de tipo de matriz, se descubrió que era incorrecto no agregar el símbolo @. Por ejemplo: para llamar al método de conteo de una matriz para averiguar la longitud de la matriz, puede llamar a
{array|@count
} para llamar al método final de la matriz para encontrar el último elemento de la matriz Se pueden pasar datos del grupo
{array|@end
}.
2. En la cadena de función relevante que se va a probar, se puede llamar normalmente a cualquier función con o sin @.
3. Otros no han sido probados cuidadosamente.