PHP 어레이: 개수 또는 크기?
PHP에서 요소 수를 찾으려면$array
, 어떤 것이 더 빠름/더 좋음/빠른가?
count($array)
또는sizeof($array)
?
편집
Andy Lester 덕분에, 저는 제 질문을 다국어 관점에서 의미하도록 수정했습니다.해설자는 이렇게 말합니다.
"[size of]는 C를 기반으로 하는 다른 많은 언어에서 동일한 것을 의미하지 않습니다."
정말이에요?
나는 사용할 것이다.count()
만약 그것들이 같다면, 제 경험에서와 같이, 그것은 더 일반적이기 때문에, 당신의 코드를 읽는 개발자들이 "라고 말하는 것을 줄일 것입니다.sizeof()
, 그게 뭐죠?"라고 묻기 때문에 문서를 참조할 필요가 있습니다.
제 생각에는sizeof()
는, C(데이터 타입의 사이즈를 계산)와 같이 동작하지 않습니다.PHP가 C로 쓰여져 있고, C 함수에 동일한 이름의 래퍼를 많이 제공하기 때문에, 이것은 아마 명시적으로 언급되었을 것입니다.strlen()
,printf()
등)
phpbench에 따르면:
루프 길이를 미리 계산할 필요가 있습니까?
//pre-calculate the size of array
$size = count($x); //or $size = sizeOf($x);
for ($i=0; $i<$size; $i++) {
//...
}
//don't pre-calculate
for ($i=0; $i<count($x); $i++) { //or $i<sizeOf($x);
//...
}
1바이트 값을 가진 1000개의 키를 가진 루프가 제공됩니다.
+---------+----------+
| count() | sizeof() |
+-----------------+---------+----------+
| With precalc | 152 | 212 |
| Without precalc | 70401 | 50644 |
+-----------------+---------+----------+ (time in µs)
그래서 저는 개인적으로 sizeof() 대신 count()를 사용하는 것을 선호합니다.
그들은 에 따라 동일하다.
"더 빠른"을 걱정할 이유가 없는 경우, 항상 인간에 맞게 최적화하십시오.어떤 것이 인간 독자들에게 더 말이 되는가?
웹사이트에 따르면sizeof()
의 에일리어스입니다.count()
같은 코드를 실행하고 있어야 합니다.아마sizeof()
이 문제를 해결할 필요가 있기 때문에 약간의 오버헤드가 있습니다.count()
아주 미미할 겁니다.
오래된 것은 알지만, PHP 7.2에서 시도했다는 것을 말하고 싶습니다.
<?php
//Creating array with 1 000 000 elements
$a = array();
for ($i = 0; $i < 1000000; ++$i)
{
$a[] = 100;
}
//Measure
$time = time();
for ($i = 0; $i < 1000000000; ++$i)
{
$b = count($a);
}
print("1 000 000 000 iteration of count() took ".(time()-$time)." sec\n");
$time = time();
for ($i = 0; $i < 1000000000; ++$i)
{
$b = sizeof($a);
}
print("1 000 000 000 iteration of sizeof() took ".(time()-$time)." sec\n");
?>
결과는 다음과 같습니다.
1 000 000 000 iteration of count() took 414 sec
1 000 000 000 iteration of sizeof() took 1369 sec
그러니까 그냥 사용하세요count()
.
sizeof()
의 별칭에 불과합니다.count()
여기서 말한 바와 같이
http://php.net/manual/en/function.sizeof.php
둘 다 배열 내의 요소를 카운트하기 위해 사용됩니다.size of() 함수는 PHP에서 사용되는 count() 함수의 별칭입니다.단, count() 함수는 size of()보다 빠르고 우수합니다.
카운트 함수를 사용하십시오. 다음은 요소에서 어레이를 카운트하는 예제입니다.
$cars = array("Volvo","BMW","Toyota");
echo count($cars);
그count()
함수는 배열 내의 요소 수를 반환합니다.
그sizeof()
함수는 배열 내의 요소 수를 반환합니다.
그sizeof()
function은 의 에일리어스입니다.count()
기능.
언급URL : https://stackoverflow.com/questions/3974385/php-array-count-or-sizeof
'sourcecode' 카테고리의 다른 글
대시 포함 argparse 옵션 있음 (0) | 2022.09.26 |
---|---|
MySQL에서 Join을 사용하여 삭제 (0) | 2022.09.26 |
PHP에서 두 문자열의 차이를 강조 표시합니다. (0) | 2022.09.26 |
Google Maps API v3: 모든 마커를 제거하는 방법 (0) | 2022.09.26 |
MySQL 전체 텍스트 부울 모드 와일드카드로 두 글자 단어 검색 (0) | 2022.09.25 |