Подобные Java наборы в PHP

Вы включаете <iostream>, когда хотите выводить данные на консоль. Поскольку печать «Hello world» включает вывод на консоль, вам нужно iostream.

Функция main вызывается операционной системой, в основном. Он вызывается с аргументами командной строки, переданными программе. Он возвращает целое число, поскольку программа должна вернуть код ошибки операционной системе (это стандартный способ определения, была ли последняя команда успешной).

Вы всегда можете использовать printf("hello world"); вместо std::cout << "hello world";, если хотите использовать стиль C. Это немного быстрее для записи и позволяет вам делать форматированный вывод.

Вы return 0 из main указали, что программа выполнена успешно.

Компилятор не включает автоматически все стандартные библиотеки и использует пространство имен std, потому что иногда могут возникнуть коллизии имен между вашим кодом и библиотечным кодом, которые вам могут вообще не понадобиться. Вам не всегда нужны все библиотеки. Аналогично, иногда вы используете другую основную процедуру (разработка Windows приходит на ум со своей собственной, WinMain стартовой функцией). Компилятор также не работает автоматически return 0, потому что иногда программе необходимо указать, что она завершилась неудачно.

17
задан dreftymac 9 April 2019 в 22:21
поделиться

2 ответа

Collections in Java make a lot of sense since it's a strongly typed language. It makes sense to have a collection of say "Cars" and another of "Motorbikes".

However, in PHP, due to the dynamically typed nature, it is quite common to sacrifice the formality of Collections. Arrays are sufficient to be used as generic containers of various object types (Cars, Motorbikes, etc.). Also, the added benefit comes from the fact that arrays can be mutated very easily (which sometimes can be a big disadvantage when proper error checking is absent).

I come from a Java background, and I've found that using a Collections design pattern in PHP does not buy much in the way of advantages (no multi-threading, no optimization of memory allocation, no iterators, etc.).

If you're looking for any of those advantages, its probably better to construct a wrapper class around the array, implementing each feature (iterators, etc.) a la carte.

19
ответ дан 30 November 2019 в 12:13
поделиться

PHP arrays are associative... They're far more powerful than Java's arrays, and include much of the functionality of List<> and Map<>.

What do you mean by "good idea"? They're different tools, using one language in the way you used another usually results in frustration.

5
ответ дан 30 November 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: