array_splice():
-配列を切り取る機能を利用して対象から値を削除する
-1つだけの値の削除や連続する値の削除に向いている
<?php $target = array('東証1部','東証2部','東証マザーズ','JASDAQ','名証','札証','福証'); $split = array_splice($target, 4, 3); var_dump($target); var_dump($split); ?>
array(4) { [0]=> string(10) “東証1部” [1]=> string(10) “東証2部” [2]=> string(18) “東証マザーズ” [3]=> string(6) “JASDAQ” }
array(3) { [0]=> string(6) “名証” [1]=> string(6) “札証” [2]=> string(6) “福証” }
unset();
array_values();
配列を指定して、unsetで削除する
複数の値の削除に向いている
unsetで削除するだけで、indexは変更されない。
<?php $target = array('東証1部','東証2部','東証マザーズ','JASDAQ','名証','札証','福証'); unset($target[3]); var_dump($target); $target = array_values($target); //indexを詰める var_dump($target); ?>
array(6) { [0]=> string(10) “東証1部” [1]=> string(10) “東証2部” [2]=> string(18) “東証マザーズ” [4]=> string(6) “名証” [5]=> string(6) “札証” [6]=> string(6) “福証” }
array(6) { [0]=> string(10) “東証1部” [1]=> string(10) “東証2部” [2]=> string(18) “東証マザーズ” [3]=> string(6) “名証” [4]=> string(6) “札証” [5]=> string(6) “福証” }
<?php $portfolio = array( 'みずほフィナンシャルグループ'=> '-1.05', '三菱UFJフィナンシャル・グループ' => '-1.35', '野村ホールディングス' => '-2.89', '富士通' => '-2.77', 'エー・ディー・ワークス' => '+2.27', '日経ダブルインバース上場投信' => '+1.67', '東芝' => '-1.54' ); foreach ($portfolio as $key => $val){ if ($val < 0){ unset($portfolio[$key]); } } array_values($portfolio); var_dump($portfolio); ?>
array(2) { [“エー・ディー・ワークス”]=> string(5) “+2.27” [“日経ダブルインバース上場投信”]=> string(5) “+1.67” }