Структурирует тип данных в php?

Может ли кто-нибудь дать мне пример для типа данных structs в php? Как получилось что-то вроде структур в php внезапно?

Ближе всего вы попадаете в структуру, это объект со всеми членами сообщества.

 class MyStruct { public $foo; public $bar; } $obj = new MyStruct(); $obj->foo = 'Hello'; $obj->bar = 'World'; 

Я бы сказал, что смотреть на документацию на PHP-класс будет стоить того. Если вам нужна разовая структура, используйте StdObject, как указано в ответе alex .

Вы можете использовать массив

 $something = array( 'key' => 'value', 'key2' => 'value2' ); 

или со стандартным объектом.

 $something = new StdClass(); $something->key = 'value'; $something->key2 = 'value2'; 

Сегодня я собрал «динамический» класс структуры, посмотрел сегодня вечером, и кто-то написал что-то похожее с лучшей обработкой параметров конструктора, может быть стоит посмотреть:

http://code.activestate.com/recipes/577160-php-struct-port/

В одном из комментариев на этой странице упоминается интересная вещь в PHP – видимо, вы можете отливать массив как объект, который позволяет ссылаться на элементы массива, используя обозначение стрелки, как и с указателем Struct в C. Пример комментария был следующим:

 $z = array('foo' => 1, 'bar' => true, 'baz' => array(1,2,3)); //accessing values as properties $y = (object)$z; echo $y->foo; 

Я еще не пробовал это сам, но, может быть, вы могли бы получить желаемую нотацию, просто нажав – если это все, что вам нужно. Это, конечно, «динамические» структуры данных, просто синтаксический сахар для доступа к парам ключ / значение в хеше.

Если вы действительно ищете что-то более статически типизированное, то ответ ASpencer – это дроид, которого вы ищете (как мог бы сказать Оби-Ван).

Я рекомендую 2 вещи. Сначала ассоциативный массив .

 $person = Array(); $person['name'] = "Joe"; $person['age'] = 22; 

Во-вторых, это классы .

Подробная документация здесь: http://php.net/manual/en/language.oop5.php

Кажется, что тип struct обычно используется в SOAP :

 var_dump($client->__getTypes()); array(52) { [0] => string(43) "struct Bank {\n string Code;\n string Name;\n}" } 

Это не родной тип данных PHP!

Кажется, что свойства типа struct упоминаемые в SOAP, могут быть доступны как простой объект PHP stdClass :

 $some_struct = $client->SomeMethod(); echo 'Name: ' . $some_struct->Name;