2011-12-09 5 views
12

Estoy trabajando con una API y me está pidiendo que proporcione un valor de List <String>. Estoy escribiendo PHP y solo puedo encontrar este tipo en C#.¿Cuál es el equivalente de C# "List <String>" en PHP?

¿Es una matriz? ¿Una cadena separada por comas?

+1

¿PHP tiene genéricos? – Oded

+0

¿Es este un servicio web, o está llamando al método directamente? – vcsjones

+0

Llamo al método a través de SOAP a través de un servicio web. –

Respuesta

7

es PHP no tiene el concepto de tipos genéricos.

Puede utilizar array():

PHP

$arr = array(); 
$arr[0] = 'foo'; 

equivalente en C#

List<string> arr = new List<string>(); 
arr.Add("foo"); 
5

supongo que se puede utilizar una matriz simple:

$list = array('string1', 'string2', 'string3'); 

o

$list = array(); 
$list[] = 'string1'; 
$list[] = 'string2'; 
$list[] = 'string3'; 

etc.

Comprobar http://www.php.net/manual/en/language.types.array.php para más detalles.

1

PHP es sin tipo, por lo que puede utilizar la matriz para todo tipo de variable, utilice este código:

$arr=array(); 
2

Es una matriz?

sí, es

Una cadena separada por comas?

No, no

1

Si llama de SOAP entonces sólo debe utilizar la clase SoapClient de php, se hace un buen trabajo al convertir los tipos que ve en wsdl en php nativo ructuras, por lo general en matrices oa menudo en instancias de objetos stdClass, que es el tipo de clase de php que puede almacenar cualquier valor como propiedad. También puedes hacer cosas más interesantes como tell SoapClient de php para mapear tipos de devolución a los objetos de tu propio php.

Ver http://us2.php.net/SoapClient y también ver definición de constructor http://us2.php.net/manual/en/soapclient.soapclient.php y una de las opciones denominadas 'classmap' explica cómo se puede asignar tipos devueltos a sus propias clases. También hay una opción 'tipo de mapa' para asignar tipos de devolución a sus propios tipos

Cuestiones relacionadas