php - соглашения о присвоении имен индексам ассоциативных массивов - PullRequest
4 голосов
/ 17 августа 2011

В PHP должны ли индексы ассоциативных массивов следовать тем же правилам и именам переменных (не может начинаться с цифры и т. Д.) Я ищу как рабочие, так и философские ответы на этот вопрос.

Ответы [ 5 ]

5 голосов
/ 17 августа 2011

Из руководства :

Ключ может быть целым числом или строкой. Если ключ является стандартным представлением целого числа, он будет интерпретирован как таковой (то есть «8» будет интерпретироваться как 8, а «08» будет интерпретироваться как «08»). Поплавки в ключе усекаются до целого числа. Индексированные и ассоциативные типы массивов в PHP одинакового типа, которые могут содержать как целые, так и строковые индексы.

В их примере использование чего-то вроде $array["08"] вполне приемлемо и будет считаться строкой, хотя, как вы, вероятно, знаете, это крайне не рекомендуется. Всегда называйте свои переменные логически.

2 голосов
/ 17 августа 2011

нет, ассоциативные массивы могут иметь числовые ключи. любая допустимая строка может быть индексом. Что касается стилей и ясности кода, важно, чтобы ключи имели смысл и были читабельными.

1 голос
/ 17 августа 2011

Ключ массива может быть целым числом или любой допустимой строкой, согласно руководству .

С философской точки зрения ключ должен иметь смысл в контексте и увеличивать читабельностькод.

0 голосов
/ 17 августа 2011

что касается соглашения , часто для разграничения имен переменных и индексов, которые я видел, люди используют строчные буквы и подчеркивания. Хотя это утомительно, я считаю, что это повышает удобочитаемость, потому что глаз ожидает, что для массива, названного обычно одним словом, индекс маленького регистра: array['array_index'] выглядит хорошо; array['arrayIndex'] часто труднее читать в каком-то коде.

0 голосов
/ 17 августа 2011

Нет, они могут быть любой строкой, даже двоичной.

...