Search
  1. array_change_key_case〔配列のキーをすべて小文字あるいは大文字にして返す〕
  2. array_combine PHP5~〔一方の配列をキーとして、もう一方の配列を値として、ひとつの配列を生成〕
  3. array_count_values〔配列の値の数を数える〕
  4. array_flip〔配列の値を反転〕
  5. array_key_exists〔指定したキーまたは添字が配列にあるか調べる〕
  6. array_keys〔配列のキーを全て返す〕
  7. array_map〔指定した配列の要素にコールバック関数を適用〕
  8. array_product PHP5~〔配列の値の積を計算〕
  9. array_reverse〔配列の要素を逆順にする〕
  10. array_search〔配列に特定の値があるか調べる〕
  11. array_sum〔配列の値の合計を計算する〕
  12. array_values〔配列の値を全て返す〕
  13. array_walk〔配列の全ての要素にユーザー関数を適用〕
  14. array_walk_recursive PHP5~〔配列の全ての要素にユーザー関数を再帰的に適用〕

array_change_key_case
配列のキーをすべて小文字あるいは大文字にして返す

unknown

array array_change_key_case ( array $配列[, int $ケース=CASE_LOWER] )

配列のキーが文字列の場合、そのキー全てを小文字または大文字にした配列を返します。 数値添字はそのままとなります。 配列が配列でない場合は、エラー(E_WARNING)が発生し、FALSEを返します。

この関数を使用してキーが大文字あるいは小文字になることで、キーが重複してしまう場合は、配列の後ろの方にある値が他の値を上書きします。

オプションの第2引数ケースには、2つの定数CASE_UPPER(大文字)またはCASE_LOWER(小文字)を指定します。 デフォルトは、CASE_LOWER(小文字)。

<?
# 配列のキーを大文字にする
$input_array = array("FirSt" => 1"SecOnd" => 4);
print_r(array_change_key_case($input_arrayCASE_UPPER));
//Array ( [FIRST] => 1 [SECOND] => 4 )

# 配列のキーを小文字にする
print_r(array_change_key_case($input_arrayCASE_LOWER));
//Array ( [first] => 1 [second] => 4 )

# この関数を使用することでキーが重複してしまう場合、
# 配列の後ろの値が他の値を上書きします
$input_array = array("FirSt"=>1"SecOnd"=>2"first"=>"1th""second"=>"2nd");
print_r(array_change_key_case($input_arrayCASE_UPPER));
// Array ( [FIRST] => 1th [SECOND] => 2nd ) 
?>

array_combine PHP5~
一方の配列をキーとして、もう一方の配列を値として、ひとつの配列を生成

unknown

array array_combine ( array $キー配列, array $値の配列 )

キー配列の値をキーとして、値の配列の値を対応する値とする配列を返します。 互いの配列の要素数が一致しない場合または空の配列の場合に、FALSEを返します。

<?
if (!function_exists('array_combine')) {
    function array_combine($keys$values) {
        $keys array_values($keys);
        $values array_values($values);
        $max maxcount$keys ), count$vals ) );
        $combine_ary = array();
        for($i=0$i<$max$i++) {
            $combine_ary[$keys[$i]] = $values[$i];
        }
        if(is_array($combine_ary)) return $combine_ary;
        else return false;
    }
}
?>
<?
$keys = array("a","b","c");
$values = array("apple","banana","coconut");
print_r(array_combine($keys,$values));
//Array ( [a] => apple [b] => banana [c] => coconut )
?>

array_count_values
配列の値の数を数える

unknown

array array_count_values ( array $配列 )

配列の値をキーとし、配列にその値が出現した回数を値とした配列を返します。 配列の要素が文字列あるいは整数以外の型の場合は、そのたびにエラー(E_WARNING)が発生します。

<?
$input = array(1"apple"1"banana""apple"1);
print_r(array_count_values($input));
//Array ( [1] => 3 [apple] => 2 [banana] => 1 ) 
?>

array_flip
配列の値を反転

unknown

array array_flip ( array $配列 )

配列のキーと値を逆転して返します。失敗した場合は、FALSEを返します。 同じ値が複数回出現した場合、最後のキーがその値として使われその他の値は失われます。

<?
$trans = array ("apple" => 1"armond" => 1"cocoa" => 2);
$trans array_flip ($trans);
print_r($trans); //Array ( [1] => armond [2] => cocoa ) 
?>

array_key_exists
指定したキーまたは添字が配列にあるか調べる

unknown

bool array_key_exists ( mixed $キー, array $検索対象の配列 )

指定したキー検索対象の配列に設定されている場合にTRUEを返します。 そうでない場合にFALSEを返します。 キーは配列添字として使用できる全ての値を指定できます。 この関数は、0NULL値を持つ配列キーに対して、TRUEを返します。

<?
$search_array = array('a' => 'apple''b' => 'banan');
if (array_key_exists('a'$search_array)) echo '指定されたキーが見つかりました<br>';
else echo '指定されたキーは見つかりませんでした<br>';
//指定されたキーが見つかりました
?> 

<?
$search_array = array('a' => null'b' => 4'c' => 0);

echo isset($search_array['b'])."<br>"//true
echo array_key_exists('b'$search_array)."<br>"//true

//キーがNULLの場合
echo isset($search_array['a'])."<br>"//false
echo array_key_exists('a'$search_array)."<br>"//ture(NULL値でもTRUEを返す)

//キーがゼロの場合
echo isset($search_ary['c'])."<br>"//false
echo array_key_exists('c'$search_array)."<br>"//true(ゼロでもTRUEを返す)
?>

array_keys
配列のキーを全て返す

unknown

array array_keys ( array $配列[, mixed $検索対象要素] )

配列内のキー(添字)を取り出し、キーを配列にして返します。

オプションの第2引数検索対象要素を指定した場合、その検索対象要素に関するキーのみが返されます。 省略した場合は、配列から全てのキーが返されます。

配列から全ての値を取り出す場合は、array_values()関数を使用してください。

<?
$input = Array("a"=>"apple""b"=>"banana""c"=>"cocoa");
print_r(array_keys($input));
//Array ( [0] => a [1] => b [2] => c )
print_r(array_keys($input"cocoa"));
//Array ( [0] => c )

$input = Array("a" => "apple""banana");
print_r(array_keys($input));
//Array ( [0] => a [1] => 0 )

$input = Array ("blue""red""green""blue""blue");
print_r(array_keys($input,"blue"));
//Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 )

$input = Array (
"color" => Array("blue""red""green"),
"size" => Array("small""medium""large")
);
print_r(array_keys($input));
//Array ( [0] => color [1] => size ) 

#オプション引数'検索する値'を指定すると、検索する値にマッチしたキーが全て返される
$input = Array ("blue""red""green""blue""blue");
print_r(array_keys($input,"blue"));
//Array ( [0] => 0 [1] => 3 [2] => 4 )
?>

array_map
指定した配列の要素にコールバック関数を適用

unknown

array array_map ( callback コールバック関数, array $配列1[, array ...] )

配列1の各要素にコールバック関数を適用後、その全ての要素を含む要素を返します。

コールバック関数が受け付ける引数の数は、この関数に渡される配列の数に一致させる必要があります(コールバック関数が対応する要素に対して並行に適用されるため)。

配列の長さが等しくない場合、最も短い配列は空の要素で拡張されます。

<?
function cube($n) { return $n*$n; }
$a = Array(1,2,3,4,5);
$b array_map("cube",$a);
print_r($b); //Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 [4] => 25 ) 

$input_array = array("FirSt" => 1"SecOnd" => 4);
print_r(array_change_key_case($input_arrayCASE_UPPER));
//Array ( [FIRST] => 1 [SECOND] => 4 )
print_r(array_change_key_case($input_arrayCASE_LOWER));
// Array ( [first] => 1 [second] => 4 )

#配列の配列を生成(callback関数名にNULLを使用)
$a = array(1,2,3);
$b = array("red","yellow","green");
$c = array("apple","banana","avocado");
$d array_map(NULL$a$b$c);
print_r($d);
/*
Array
(
    [0] => Array
        (
            [0] => 1
            [1] => red
            [2] => apple
        )
    [1] => Array
        (
            [0] => 2
            [1] => yellow
            [2] => banana
        )
    [2] => Array
        (
            [0] => 3
            [1] => green
            [2] => avocado
        )
)
*/
?>

array_product PHP5~
配列の値の積を計算

unknown

number array_product ( array $配列 )

配列の全ての値の積を計算した結果を、integer型またはfloat型で返します。

<?
#配列の値の積を求める
$a = array(2468);
echo "product(a) = " array_product($a) . "\n";
//product(a) = 384
?>

array_reverse
配列の要素を逆順にする

unknown

array array_reverse ( array $配列[, bool $キーの保持] )

配列の要素を逆順にした配列を返します。

キーが文字列の場合は常にキーが保持されますが、キーが数値の場合は、オプション引数キーの保持TRUEを指定すると、元配列のキーが保持されます。 デフォルトはFALSE(キーは保持しない)で、0からの連番に振り直されます。

<?
$fruit = array("apple","banana","grape");

print_r(array_reverse($fruit));
//Array ( [0] => grape [1] => banana [2] => apple ) 
print_r(array_reverse($fruit,TRUE));
//Array ( [2] => grape [1] => banana [0] => apple )

#キーが文字列の場合、第1引数にTRUEを指定しなくても、キーと値の関係が維持される
$fruit = array("a"=>"apple","b"=>"banana","g"=>"grape");
print_r(array_reverse($fruit));
//Array ( [g] => grape [b] => banana [a] => apple )
?>

array_sum
配列の値の合計を計算する

unknown

mixed array_sum ( array $数値配列 )

数値配列の値を合計した結果を、整数またはfloat型で返します。

<?
$input[a] = "1";
$input[b] = "2";
$input[c] = "c"//値が文字列の場合は、無視される
$input[d] = "3";
$input[e] = "5";

$sum array_sum($input);
echo $sum//11

//値に小数点が含まれていてもOK
$input[a] = "1.0";
$input[b] = "2.2";
$input[c] = "c";
$input[d] = "0.4";
$input[e] = "5";

$sum array_sum($input);
echo $sum//8.6
?>

array_values
配列の値を全て返す

unknown

array array_values ( array $配列 )

配列から全ての値を取り出し、数値キーを振った配列を返します。

配列から全てのキーを取り出す場合は、array_keys()関数を使用してください。

<?
$input = array("1"=>"apple""2"=>"banana""c"=>"cocoa");
print_r(array_values($input));
//Array ( [0] => apple [1] => banana [2] => cocoa ) 
?>

array_walk
配列の全ての要素にユーザー関数を適用

unknown

bool array_walk ( array &$配列, colback $ユーザー定義関数[, mixed $ユーザーデータ] )

配列の各要素にユーザー定義関数を適用します。 成功した場合にTRUE、失敗した場合にFALSEを返します。

通常、ユーザー定義関数は引数を2つとります(配列の値が第1引数、キーが第2引数)。 オプションの第2引数ユーザーデータを指定すると、ユーザー定義関数が第3引数として渡されます。

第3引数ユーザー定義関数が、指定された引数より多いパラメータを必要とする場合、ユーザー定義関数をコールする度にE_WARNINGレベルのエラー発生します。 警告を出さないようにする場合は、この関数をコールする前にエラー演算子(@を付けるか、error_reporting()関数を使用します。

<?
$fruits = array("c" => "coconut""a" => "apple""b" => "banana");
function test_alter(&$item1$key$prefix){
    $item1 "$prefix: $item1";
}
function test_print ($item2$key){
    echo "$key. $item2<br>\n";
}
echo "Before ...:\n";
array_walk($fruits'test_print');

array_walk($fruits'test_alter''fruit');
echo "... and after:\n";

array_walk($fruits'test_print');
/*
Before ...:
d. lemon
a. orange
b. banana
c. apple
... and after:
d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. f
*/
?>

array_walk_recursive PHP5~
配列の全ての要素にユーザー関数を再帰的に適用

unknown

bool array_walk_recursive ( array &$配列, colback $ユーザー定義関数[, mixed $ユーザーデータ] )

配列の各要素にユーザー定義関数を適用します。 この関数は配列の要素内を再帰的に辿ります。 成功した場合にTRUE、失敗した場合にFALSEを返します。

通常、ユーザー定義関数は引数を2つとります(配列の値が第1引数、キーが第2引数)。 オプションの第2引数ユーザーデータを指定するとユーザー定義関数が第3引数として渡されます。

<?
$sweet = array('a' => 'apple''b' => 'banana');
$fruits = array('sweet' => $sweet'sour' => 'lemon');

function test_print($item$key){
    echo "$key holds $item\n";
}
array_walk_recursive($fruits'test_print');
/*
a holds apple
b holds banana
sour holds lemo
*/
?>

関連コンテンツ

Q. このサイトの情報はお役に立ちましたでしょうか?

投票する 投票結果を見る

管理人に【web拍手】を送るweb拍手(1行メッセージも送れます♪)

pagetop