2012-06-25 10 views
53

Duplicar posibles:
Is it possible to declare an array as constantPHP - usar una matriz constante como clase

¿Es posible utilizar una matriz como una clase constante en PHP?

es decir

const MYARRAY = array('123', '234'); 

Si no es así ¿por qué?

+0

[por favor, utilice la función de búsqueda antes de hacer preguntas. esperamos que investigue.] (http://stackoverflow.com/questions/ask-advice) – Gordon

+11

Las constantes duplicadas discutidas creadas usando define(). Las reglas para las constantes de clase no son lo mismo. Votando para reabrir –

+0

Puede convertir una matriz a una cadena y almacenarla como una constante. Cuando lo necesitas, simplemente lo reconviertes. Mire en el ejemplo de (un) serialización: http://stackoverflow.com/questions/1290318/php-constants-containing-arrays – Armfoot

Respuesta

63

n no se puede asignar una matriz de PHP constante.

En http://www.php.net/manual/en/language.constants.syntax.php

constantes solo puede albergar valores escalares

Esta es la razón.

valores escalares para ejemplos son int, float, string

+0

Corto pero claro, y todavía perfectamente explicado, ¡gracias! –

+38

Esto ahora está disponible en PHP 5.6 http://php.net/manual/en/migration56.new-features.php –

+0

Marcado porque ya no es cierto en 5.6+ – piersb

67

No, no puedes.

Pero puede declararlo como una propiedad estática.

public static $MYARRAY = array('123', '234'); 

actualización --------------- -------------------------- ---

Array const está disponible en PHP 5.6.

php.net/manual/en/migration56.new-features.php

+7

Esto no sería lo mismo que una constante ya que el valor podría cambiarse – Martin

+0

@Martin Sí, eso es cierto, pero no se puede declarar una constante con una matriz. – xdazz

+0

¿Puede una estática declararse privada al menos? – Martin

Cuestiones relacionadas