「PHP入門」配列操作関数サンプル

1.利用メッソッド
array_key_search
array_multip
array_mean
array_rands
2.サンプルコード
<?php

$array = array('1’, '2’, '3’, '4’, '5’, '7’, '8’, '9’, ’10’, ’11’);
var_dump(array_key_search($array, 5, @$_GET['page’]));
var_dump(array_multip(array()));
var_dump(array_mean(array(1, 5, 10, 25, 5)));

$array = array(
array('id’=> 1, 'name’=> 'yahoo’, 'sex’=> 1),
array('id’=> 2, 'name’=> 'google’, 'sex’=> 1),
array('id’=> 3, 'name’=> 'facebook’, 'sex’=> 1),
array('id’=> 4, 'name’=> 'twitter’, 'sex’=> 1),
array('id’=> 5, 'name’=> 'ameba’, 'sex’=> 1));

var_dump(array_rands($array, 0));

/*
配列区分スクリーニング「配列ページングを使える」
return (array)
*/
function array_key_search($array, $limit = 5, $page = 0) {
$page = empty($_GET['page’]) || !empty($_GET['page’]) && (intval($_GET['page’]) < 0 || $_GET['page’] == '1’) ? 0 : $_GET['page’]-1; //書き直す
sort($array);
foreach($array as $key=> $val) {
if($key < $page*$limit || $key > ($page*$limit)+$limit-1) unset($array[$key]);
}
return $array;
}

/*
配列積
return (int)
*/
function array_multip($array) {
$multip = 1;
if(!is_array($array)) return (bool)false;
if(empty($array)) return (int)0;
foreach($array as $v) if(!is_numeric($v)) return false; $multip *= $v;
return (int)$multip;
}

/*
配列の平均値を取得
return (int)
*/
function array_mean($array) {
if(!is_array($array)) return (bool)false;
if(empty($array)) return (int)0;
foreach($array as $v) if(!is_numeric($v)) return false;
return array_sum($array)/count($array);
}

/*
ランダムに配列を取り出す
return (array)
*/

function array_rands($array, $rand = 0) {
if(!is_array($array)) return (bool)false;
if(empty($array) || !is_numeric($rand) || is_numeric($rand) && intval($rand) === 0) return (int)0;
if(intval($rand) >= count($array)) return (array)$array;
$rands = array();
while(count($rands) > intval($rand)) {
$rand_indexes = rand(0, (count($array)-1));
if(array_key_exists($rand_indexes, $array))$rands[] = $array[$rand_indexes];
unset($array[$rand_indexes]);
}
return (array)$rands;
}

Development

Posted by arkgame