sourcecode

PHP 어레이: 개수 또는 크기?

copyscript 2022. 9. 26. 21:54
반응형

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

반응형