偶数番目

 

array_map('current', array_chunk($array, 2))
array_chunkで2個ずつに配列を分割したあと、arrray_mapにて全配列に適用current指定で最初の要素のみに適用されます。


奇数番目
array_map('current', array_chunk(array_slice($array, 1), 2))
array_sliceで開始位置"1"から取り出し、あとは同じくarray_chunkで2個ずつに配列を分割したあと、arrray_mapにて全配列に適用current指定で最初の要素のみに適用です。

php でmecabを使う

テーマ:

今回バリデーション処理で、形態素解析が必要になり、サーバにインストールしてみました。

Igoを使用しています。



igo-0.4.5.jarをダウンロード

https://ja.osdn.net/projects/igo/releases/



設置したいディレクトリにアップロードする。

合わせて辞書をダウンロード



http://taku910.github.io/mecab/#download



igo-0.4.5.jarと同じディレクトリにアップロードする。



辞書を解答する。

# tar xvf  mecab-ipadic-2.7.0-20070801.tar.gz



辞書のコンパイル

# java -cp igo-0.4.5.jar net.reduls.igo.bin.BuildDic ipadic mecab-ipadic-2.7.0-20070801 EUC-JP

クラスの読み込みの際に文字コードは指定できるので、EUC-JPでOK



同じディレクトリにipadicというディレクトリが作成されたら完成

読み込み方法



<?php
require_once 'Igo.php';
$igo = new Igo("/home/www/mecab/ipadic", "UT-F-8");
$str = "ここに文章が入ります。";

$result1 = $igo->wakati($str); //分かち書き
$result2 = $igo->parse($str);  //単語の品詞などを詳細に解析

?>



オリジナル単語の追加方法

mecab-ipadic-2.7.0-20070801内にあるcsvに追加してコンパイルすればOK



 

gitのインストール

$ sudo yum install -y git

 

gitからPyenvのインストーラを取得

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

 

Pyenvにパスを通して有効化

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ source .bash_profile

 

Pyenvのバージョンを確認

$ pyenv -v
pyenv 1.1.5-40-g5b5df15

 

Pythonをインストールするための必要なパッケージをインストール

$ sudo yum install -y zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel gcc

 

Pyenvを使用してインストールできるPythonのバージョンを確認

$ pyenv install -l

 

Python3.6.5を指定してインストール

$ pyenv install 3.6.5

 

使用するPythonのバージョンを設定

$ pyenv global 3.6.5

 

バージョンの確認

$ python --version

 

ここでバージョンが切り替わらない場合

 

~/.bash_profileに以下を追記

export PATH="$HOME/.pyenv/shims:$PATH"

 

.bash_profileを適用

source ~/.bash_profile

 

再度設定

$ pyenv global 3.6.5

 

バージョンの確認
$ python --version