array_unpad($arr)

ブログ | 2008/3/6 00:05
function array_unpad($arr){
 $new = array();
 foreach($arr as $k=>$v){
   if($v != ''){
     $new[$k] = $v;
   }
 }
 return $new;
}

こんな関数ないのかな?
imbe
配列の中から値のないやつを削除ってことですかね?
$new = preg_grep('/.+/', $arr);

これがベストかどうかはわりませんが1行で書けますよ。
imbe | 編集回数: 2 | 2008/03/06 10:56
kuwa
preg_grep()かー、一回使ったことがあるようなないような。
ほんとimbeっちはすばらしいよ。答えてくれるあたり。
kuwa | 2008/03/06 13:10
kuwa
教えて、やさしい人々

$keys = array('pref','city','town','number','dis','flag','num','read','thanks');
foreach($keys as $kv){
 $rg[$kv] = '';
}

こんな関数か、1行での書き方ない?
kuwa | 編集回数: 1 | 2008/03/06 17:33
imbe
$rg = array(pref => '', city => '', number => '', ...);
って話じゃないですよね。
$rg = $array_combine($keys, array_map(create_function('$n', 'return $n="";'), $keys));
一行で書いたけど意味ないな。教えてphpのえらい人
perlだと
@rg{@keys} = ();
で書けるんですが。空文字列じゃないけど。
imbe | 編集回数: 2 | 2008/03/06 19:19
kuwa
どぅも。
ないということは、そもそも、そういう配列をつくるという流れに需要がないということに違いないから、考え方変えよう。といいつつ、
$rg = array('pref' => '', 'city' => '', 'number' => '', ...);
でいいやと思ってるけど。

PHP5は、'pref'で括らないと怒られる。
バージョンの話で言えば、PHP4は空のなんかつくらなくても問題なかった。
kuwa | 2008/03/07 00:32
kuwa
$new = preg_grep('/.+/', $arr);
は、
$new = array_filter($arr);
これでいいみたい。
kuwa | 2008/09/10 13:38
なんでもありますねぇ。
imbe | 2008/09/10 15:07
kuwa
それはPHP批判かい?
kuwa | 2008/09/10 19:42
ノン
imbe | 2008/09/10 19:52
kuwa
ノンってどこかの国ではYESって意味らしいよ。
kuwa | 2008/09/11 01:34
kuwa
うそだけど。
kuwa | 2008/09/11 01:34
ナン
imbe | 2008/09/11 13:29
kuwa
モチっとしたナンがあったらモチ食べたい。
kuwa | 2008/09/11 16:58
縮小 拡大

ログインしておくと、後で編集が可能です。

Rottel内コンテンツ

ユーザー一覧

Rottelとは?
利用規約
開発飲料
利用者の声
ヘルプ
close