2011-03-08 3 views
5

PHP에서 2 차원 배열이 얼마나 큰지 (y 축) 볼 수있는 함수를 사용하려고합니다. 내가 이걸 어떻게하면 좋겠니? 죄송합니다. PHP를 처음 사용합니다.2 차원 배열 (y 축)에 대한 PHP Array.length

+0

@phihag는 매우 우아한 솔루션을 제공합니다 ... PHP에는 진정으로 2 차원 배열이 없습니다. '배열 배열'은 길이가 될 수 있으므로 가장 큰 '배열 배열'을 가져야합니다. – dianovich

답변

23
max(array_map('count', $array2d)) 
+0

네 진짜 멋진 솔루션. – dianovich

+0

+1이 솔루션은 저에게 MATLAB을 생각 나게합니다 :) – Czechnology

+0

덕분에 많은 @phihag – wingskush

0

는 제 2 치수를 정리해 루프 count를 사용하려면

$counter = 0; 
foreach($var AS $value) { 
    $counter += count($value); 
} 

echo $counter; 
0

1.dimension :

count($arr); 

2.dimension :

function count2($arr) { 
    $dim = 0; 

    foreach ($arr as $v) { 
    if (count($v) > $dim) 
     $dim = count($v); 
    } 

    return $dim; 
} 

로서 다른 배열의 각 배열/벡터를 가질 수 있습니다. ngth (수학 행렬과 달리) 최대를 찾아야합니다. 길이. y 축, 그럼 정말 count($array) 외부 배열 인 경우 $ 최대 당신이

1
$max = 0; 

foreach($array as $val){ 
$max = (count($val)>$max?count($val):$max) 
} 

. 두 번째 치수가 균일하면 count($array[0])이됩니다.

1

찾고있는 수입니다

3

다차원 배열은 단순히 배열 배열입니다. 즉, 사각형 주소 집합을 차단 한 것처럼 아닙니다. 당신이 좋아하는만큼 각 차가 쌓일 수있는 기차처럼.

이와 같이 배열의 "높이"는 아마도 현재 가장 큰 배열 구성원의 수입니다. @phihag는 그 (max(array_map(count, $array2d)))를 얻을 수있는 좋은 방법을 제공해 주었지만 그것이 의미하는 바를 이해하고 있는지 확인하기를 바랍니다. 상위 배열 내의 다양한 배열의 최대 높이는 주어진 배열 구성원의 크기 또는 용량에 영향을 미치지 않습니다.

+0

2D 배열의 치수에 대해 이야기하기 시작했을 때, 행의 높이 - 행 수가 보통 인 행렬의 수학적 등가를 고수 할 것을 제안합니다. 첫 번째 차원 및 너비 - 열 수 - 두 번째 것으로 간주됩니다. – Czechnology

0

내 응용 프로그램에서는이 접근 방식을 사용했습니다.

$array = array(); 

$array[0][0] = "one"; 
$array[0][1] = "two"; 

$array[1][0] = "three"; 
$array[1][1] = "four"; 

for ($i=0; isset($array[$i][1]); $i++) { 
    echo $array[$i][1]; 
} 

출력 : twofour

아마,이 응용 프로그램을위한 최선의 방법이 아니라 내 것이 완벽했다.