2015-01-01 2 views
-3

PHP 배열을 계산하려고합니다. 코드를 성공적으로 계산했지만 값이 배열보다 높은 한 자리를 반환합니다.배열 배열 반환 개수가 하나 더 높습니다.

내 배열을 에코 할 때 사용하려고 시도했지만 작동하지 않습니다. 여기

지금까지 내 코드입니다 :

$quotes[0] = "Volvo"; 
$quotes[1] = "BMW"; 
$quotes[2] = "Toyota"; 

$quotesCount = count($quotes); 
echo ($quotes[rand(0, 2)]); 
echo $quotesCount--; 

그것은 세 가지 항목이 있기 때문에 "3"하는 말이 반환의 계산하지만 에코 그래서 그것은을 반영 할 때 나는 숫자를 빼기 어떻게하면 배열에서 가장 큰 자릿수?

+1

'echo $ quotesCount-1;'? – Rhumborl

+0

변수에 지나치게 많은 고전적인 사례 Rhum이 말한 바로는 변수에서 -1 – Slime

+0

사실 실제로 작동했는데 어떤 사이트인지 기억이 나지 않습니다. 비 그것은 한 자리 씩 빼기 위해 "-"를 더한다. 감사. – user3658885

답변

2

echo $quotesCount--;으로 시도한 것은 거의 원하는대로 수행하고 있습니다. 당신이 놓친 것은 --의 작동 방식입니다. 변수의 infront 또는 뒤에 놓을 수 있습니다 - 그리고 그것은 차이를 만듭니다.

전체 버전을하려면 다음을 읽어 http://php.net/manual/en/language.operators.increment.php

하지만 짧은 버전은 잠재적으로이 작업을 수행 할 수 있습니다 :

echo --$quotesCount; 

당신에게 당신이 원하는 값을 보여줍니다한다.

그러나 이것은 여전히 ​​사실이 아닙니다. 배열의 요소 수와 배열 키를 혼동하는 것입니다.

배열에 비 순차적 키 (1,3,5)가있는 경우 해당 코드는 2를 반환합니다. 이는 분명히 가장 높은 키가 아닙니다.

http://php.net/manual/en/function.array-keys.php을 사용하여 키 디딤돌을 얻을 수 있습니다. 배열에서 실제 키 자체를 참조 할 수 있습니다.

0

array_max ($ quotes) z를 사용할 수 있습니다. 배열에서 가장 높은 키를 반환합니다. .

0

안녕 "이 경우에 ($ 배열) array_max한다

array_max 배열의 가장 높은 값을 반환하는 배열 함수

그것 뿐이다

, 코딩하십시오. :)