В чём отличие между count и sizeof?

Практически sizeof быстрее чем count, но какая ещё между ними разница?
___

P.S. должно же быть что-то ещё или нет?!
___

Ведь разницу между echo и print, можно объяснить количеством передаваемых параметров. Неужели между sizeof и count её нет также как между && и and(хотя некоторые считаю, что есть).
  • Вопрос задан
  • 975 просмотров
Решения вопроса 1
php-src/ext/standard/basic_functions.c
/* aliases from array.c */
PHP_FALIAS(sizeof, count, arginfo_count)

$a = [1, 2];

count
number of ops:  5
compiled vars:  !0 = $a
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   3     0  E >   ASSIGN                                                   !0, <array>
   5     1        INIT_FCALL                                               'count'
         2        SEND_VAR                                                 !0
         3        DO_ICALL
   7     4      > RETURN                                                   1

branch: #  0; line:     3-    7; sop:     0; eop:     4; out1:  -2

sizeofПсевдоним count()
number of ops:  5
compiled vars:  !0 = $a
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   3     0  E >   ASSIGN                                                   !0, <array>
   6     1        INIT_FCALL                                               'sizeof'
         2        SEND_VAR                                                 !0
         3        DO_ICALL
   7     4      > RETURN                                                   1

branch: #  0; line:     3-    7; sop:     0; eop:     4; out1:  -2
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@kstyle
Практически sizeof быстрее чем count,
доказательство?

документацию читали?

и коммент:

1/ prefer the count() function instead of sizeOf() as sizeOf() is only an alias of count() and does not mean the same in many other languages based on C (avoid ambiguity).

2/ prefer the powerful forEach() function to iterate over arrays.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы