2011-03-11 6 views
1

배열의 크기를 찾는 방법은 sizeof($array) 및/또는 count($array)을 사용하지 않고 무엇입니까?배열의 크기

+4

무엇 u는 두 기능을 사용할 수 없습니다 제한 ?? – diEcho

+2

이미 두 가지 기능이있는 경우 다른 이유는 무엇입니까? 이 문제가 있습니까? –

+0

@diEcho. 나는 그 질문을 두 번째로 받았다. – Ben

답변

4

, 당신은이 개 솔루션을 가지고있다 - 그 카운터를 증가, 모든 항목에 걸쳐 반복 좋은 생각

    • count() 기능을 사용하여 - - 그건 나쁜 생각이야. 예를 들어

    두 번째 아이디어를 사용 : 다시

    $num = 0; 
    foreach ($array as $item) { 
        $num++; 
    } 
    
    echo "Num of items : $num"; 
    

    하지만을 : 나쁜 생각을!


    편집 : 그냥 재미를 위해, 여기에 배열을 통해 반복의 또 다른 예이지만,이 시간, array_map()를 사용하여 익명 함수 (PHP> = 5.3 필요) :

    $array = array(1, 2, 3, 4, 5); 
    $count = 0; 
    
    array_map(function ($item) use (& $count) { 
        $count++; 
    }, $array); 
    
    echo "Num of items : $count"; 
    

    여기도, 나쁜 생각이야 - 재미있게해도 ^^

  • 2

    당신은 foreach를 사용할 수 수동으로 배열의 요소 수를 계산하지만이 중 하나 sizeof 또는 count 기능을 사용을 통해 어떤 이점을 제공하지 않습니다 이후에 원하는 것이 왜 표시되지 않습니다. 당신이 배열의 항목 수를 알고 싶다면

    +0

    특별한 이유는 없습니다. 나는 단지 그것을 수동으로하고 싶었다. 덕분에 – Autolycus

    2

    foreach 나 그 밖의 다른 일을하는 것은 아닙니다 ... array_reduce는 어떨까요 :

    array_reduce($array, function($count, $element) { 
        return $count + 1; 
    }, 0); 
    

    그냥 뭔가 다른 : D

    +0

    +1 나는 항상 "뭔가 다른 것"의 답변을 좋아합니다. 특히 그들이 영리 할 때. PHP> = 5.3 물론 –