Array Size with Count
CoddyのPHPジャーニー「基礎」セクションの一部 — レッスン 38/71。
配列を扱う際には、それらが含む要素の数を把握する必要があることがよくあります。PHPはこの目的のためにcount()関数を提供しています。
<?php
$fruits = ["Apple", "Banana", "Cherry"];
echo count($fruits); // 3
?>この関数は配列の要素の総数を返します。これは、最後の要素にアクセスする必要があるときに特に便利です。インデックスが0から始まるため、最後のインデックスは常にcount($array) - 1です。
<?php
$colors = ["Red", "Green", "Blue", "Yellow"];
$lastIndex = count($colors) - 1;
echo $colors[$lastIndex]; // Yellow
?>このアプローチは、配列に含まれるアイテムの数に関係なく動作します。3つの要素であろうと300であろうと、count() は正確なサイズを提供し、あなたのコードを柔軟で信頼性のあるものにします。
チャレンジ
簡単カンマ区切りの値を含む入力行を読み込み、アイテムのリストを表します(例: Laptop,Mouse,Keyboard,Monitor,Webcam)。
この入力から配列を作成し、次に:
- 配列内のアイテムの総数を印刷
- 配列の最後の要素を印刷(最後のインデックスを計算するために
count()を使用) - 配列の最後から2番目の要素を印刷
各結果を別々の行に印刷します。
例:
入力がLaptop,Mouse,Keyboard,Monitor,Webcamの場合、出力は次のようになります:
5
Webcam
Monitor入力がApple,Banana,Cherryの場合、出力は次のようになります:
3
Cherry
Bananaチートシート
count() 関数は配列内の要素の総数を返します:
<?php
$fruits = ["Apple", "Banana", "Cherry"];
echo count($fruits); // 3
?>配列のインデックスは 0 から始まるため、最後の要素はインデックス count($array) - 1 にあります:
<?php
$colors = ["Red", "Green", "Blue", "Yellow"];
$lastIndex = count($colors) - 1;
echo $colors[$lastIndex]; // Yellow
?>自分で試してみよう
<?php
// カンマ区切りの入力を読み取る
$input = trim(fgets(STDIN));
// 入力文字列を配列に変換する
$items = explode(',', $input);
// TODO: Write your code below
// 1. count() を使用してアイテムの総数を印刷する
// 2. 最後の要素を印刷する (count() を使用して最後のインデックスを計算する)
// 3. 最後から2番目の要素を印刷する
?>このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators6Arrays Part 1 - Indexed
Introduction to ArraysCreating Indexed ArraysAccessing Elements by IndexModifying Elements by IndexArray Size with CountAdding Elements to an ArrayRecap - Managing a Simple List