多重配列で特定のキーの値だけ取り出すのにはarray_columnが便利な件

多重配列から特定のキーの値のみ取り出したくてループでも書くかぁと思ったけど
どうせPHPだからarray_**とかあるんじゃね?と思ったらやっぱりあった^^;



<?php
$users = [
['id' => 1, 'name' => "Takeshi", "age" => 20],
['id' => 2, 'name' => "Taro", "age" => 44],
['id' => 5, 'name' => "Atom", "age" => 12],
['id' => 7, 'name' => "Daijiro", "age" => 72],
];
$ids = array_column($users, 'id');
var_dump($ids);
/*
array(4) {
[0] =>
int(1)
[1] =>
int(2)
[2] =>
int(5)
[3] =>
int(7)
}
*/


注意点としてはphp5.5以降からしか使えないという点
今回はサーバが5.5以上だったので無問題でした
5.5以下でも使いたい人は↓が同じ挙動なので便利

[PR]
# by shuhei_suzuki20 | 2014-07-02 18:00 | PHP

phpstormでlaravelのメソッドjumpする方法


便利なhelperを教えてもらいました。

https://github.com/barryvdh/laravel-ide-helper


使い方は簡単。

composer require barryvdh/laravel-ide-helper:"1.*" --dev

app/config/app.php のProviderに追記
'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',

php artisan clear-compiled
php artisan ide-helper:generate
php artisan optimize
php artisan config:publish barryvdh/laravel-ide-helper



[PR]
# by shuhei_suzuki20 | 2014-06-23 21:13

ワンライナーでディレクトリ一覧を圧縮する


本を自炊するときなど巻ごとに圧縮かけたい時がまれにあります。
そんな時大活躍するワンライナーをご紹介。

php -r '$_=scandir(".");foreach($_ as $d){if (!preg_match("/^(\.|\.\.)$/", $d)) {`zip -r "{$d}.zip" "$f"`; echo "zipped $d\n";}; }'



サクッとできて便利(`・ω・´)!

[PR]
# by shuhei_suzuki20 | 2014-06-21 19:49

ajaxでAPIサーバにCOOKIEを送信する


APIサーバでCOOKIEを用いた認証を行いたいときにはAPIサーバのapache設定で下記を追加します。


Header set Access-Control-Request-Method *
RewriteCond %{HTTP:Origin} (.+\.www\.example\.com|.+\.subdomain\.example\.com)$
RewriteRule . - [E=CORS_ORIGIN:%1]
Header set Access-Control-Allow-Origin "%{CORS_ORIGIN}e"
Header set Access-Control-Allow-Credentials true


ポイントとしては、クレデンシャルを指定した時はAccess-Control-Allow-Originに*が使えなくなるという点。
(*を設定するのが微妙というのもありますが)


[PR]
# by shuhei_suzuki20 | 2014-06-03 19:20 | javascript

ローカル環境でCPANを構築する


スーパーユーザ権限がない環境でCPANを使いたかったので調べてみました。※コマンドはすべてvirtualbox@Ubuntu 14.04で試しています


# CPANで使用するのでmkdirしておく
mkdir ~/local
# CPAN設定
cpan
o conf make_arg PREFIX=~/local
o conf make_install_arg PREFIX=~/local
o conf makepl_arg PREFIX=~/local
o conf commit

# ~/.bashrcに追記
export PERL5LIB=$HOME/local/lib/perl:$HOME/local/share/perl:$PERL5LIB

これでOK
簡単ですね。。。
あとは適当に必要なモジュールをinstallすればいいと思います。

# ja_JP.UTF-8とかだとDate::Simpleが入らないため
export LANG=c
cpan
upgrade
install YAML
install Date::Simple
install Log::Log4perl
install JSON::XS
install URI::Escape
exit
# Cのままでも問題ないけど一応戻しておく
export LANG=ja_JP.utf8

# install済のモジュール確認
perl -MExtUtils::Installed -e '$i=ExtUtils::Installed->new;print "$_ ".$i->version($_)."\n" for $i->modules;'



[PR]
# by shuhei_suzuki20 | 2014-06-03 12:00 | Perl


プログラミングネタ、Mac、iPhoneアプリとか適当な事書きます


by nullの人

プロフィールを見る
画像一覧

カテゴリ

全体
PHP
Ruby
nodejs
javascript
ワロタ
その他
Perl
未分類

以前の記事

2014年 07月
2014年 06月
2014年 04月

お気に入りブログ

メモ帳

最新のトラックバック

ライフログ

検索

タグ

その他のジャンル

ブログパーツ

最新の記事

多重配列で特定のキーの値だけ..
at 2014-07-02 18:00
phpstormでlarav..
at 2014-06-23 21:13
ワンライナーでディレクトリ一..
at 2014-06-21 19:49
ajaxでAPIサーバにCO..
at 2014-06-03 19:20
ローカル環境でCPANを構築する
at 2014-06-03 12:00

外部リンク

ファン

記事ランキング

ブログジャンル

ネット・IT技術
日々の出来事

画像一覧