積み重ねた日々 このページをアンテナに追加 RSSフィード

2009-02-04

[]「配列いじり」のコマンドライン版を作ってみた

ギークなお姉さんは好きですか 初心者向けPHP練習問題リンク+学習ログで書かれてた「配列いじり」のコマンドライン版を作ってみた。

とりあえずこんな感じかなぁ。

<?php
$before = array_slice($argv, 1);
echo "before: ";
dump($before);

$after = array_pad(array($before[0]), count($before), 0);
echo "after : ";
dump($after);

function dump($array) {
    echo implode(" ", $array)."\n";
}
?>

コマンドライン上で実行すると、こんな結果を返します。(引数に配列の値を指定しています)

$ php array.php 3 5 2 4 2 
before: 3 5 2 4 2
after : 3 0 0 0 0

これを使う場面はまったくないだろうなぁ。

あ、問題の意図は、「配列内の数字がどんな値であっても先頭の数値以外はすべて0にする」ってことだと思いますよ。>べにぢょさん

レファレンス

lovecalllovecall 2009/02/05 12:03 こんにちは、「ギークなお姉さんは好きですか」のべにぢょです。
トラバありがとうございます。

array_pad という関数があったのですね。
以前にstr_replaceを使ったことがあり、馬鹿の一つ覚えみたいに
それしか浮かばずお恥ずかしい限りです><
この問題はそれを使わせたかったのだろうなあ。
教えてくださってありがとうございました!

solitary_shellsolitary_shell 2009/02/05 23:32 phpは、定義済の関数が、たくさん(自分の環境だと1303コありました!)用意されていて、それらを使うと楽できることが多いですよー。(使わないような関数も結構ありますが...)
array_padは、array関数で目的を満たしそうな関数がないか探してたら、たまたま見つけたので使ってみました。

solitary_shellsolitary_shell 2009/02/10 07:00 implode関数の引数は、ドキュメントによると、結合文字、対象配列の順を推奨しているので変更した。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

Connection: close