ここのところPHPネタばかりになってます。Flashネタも書かないと・・・って更新頻度が酷く下がっているんですけどね。
先日、お仕事でPHPをガリガリ書いていて気づいたことなんですけど、GETパラメータでの受け渡しをしてたんです。
普段はほとんどPOSTでやっているんですけど、ちょっとその時はGETの方が都合がよかったんです。
んでまあ、やってたらどうにも日本語が化ける。
「何故に?エンコードは合わせてるし、そんな複雑な事はしてないぞ?」
いろいろ模索していて、結局Google先生に頼って検索。。。
すると、IEでは「URLの受け渡しはUTF-8で通信する」というオプションがあるじゃないですか?!
しかもデフォルトの設定っぽい。
知らなかった。。。
よく今までこのケースに当たらなかったなあと思いつつGET送信をやめて別の方法で解決。
無知なだけだったのかなあ。。。
気をつけよ。
Archives for the ‘php’ Category
GETパラメータでのデータ受け渡し
金曜日, 12 3月 2010
PHPでCSVを用いた場合のあいまい検索
水曜日, 20 1月 2010
もう一つPHPでつまづいたのでメモ。
1つ前のエントリーで書いた「2次元配列のソート」と同時につまったのが、「CSVデータの中身をあいまい検索」。
SQLならそもそもLikeコマンドがあるからいいんですけど、CSVデータだとただの配列なのでどーしたものかと。
これもすごく悩みました。
さっさと結論を書くと、配列を要素数分forかなんかで回して、similar_textでマッチする文字数を検索でした。
similar_textは比較対象と検索文字の類似性を求める関数です。
って、わかりづらいですね。コード書きます。
//$itemsは元の配列
//$cは合致した文字数
//$wordは検索文字
for($i=0;$j<count($items);$i++){
$c=similar_text($word,$items[$i]);
if($c==strlen($word)){
//合致した場合の処理
}
}
ここでのポイントは元の検索文字のバイト数とsimilar_textを用いて得られた結果の文字数で整合性を取っている部分です。
ここを同じにしておかないと、検索元の文字の一部が含まれているだけで合致したことになってしまうので・・・。
けど、そこは「もしかしたら~」の検索に使えるかもですね。
PHPでの2次元配列のソート
水曜日, 20 1月 2010
今回はなんとなくPHPです。
なぜかというと、凄く追い込まれてしまったのでメモ的に載せます。
2次元配列のソートをしたい場合なのですが、方法としてはarray_multisortかusortを使う方法があると思います。ってか、自分が無知なだけかもしれませんがこれ以外知りません。
んで、CSVにあるデータを配列化して出力するってのをよくやってるのですが非常に困りました。
やった手順としては
1.CSVデータを配列として取得
2.その配列をusortを使ってソート
これだけでできるはずですよね?
しかし、なぜかできず・・・1時間以上悩みました。
んで、いろいろと考えているうちに気づきました。
「あ、CSVを2次元配列で取得してない・・・」
そう、ただの1次元?配列でしか取得してませんでした・・・。
ってことで、配列で取得したあとに2次元配列化してやっとこ完成。
あー、よかった。
FlashからのWordPressに投稿 -やっと完成-
木曜日, 12 11月 2009
やっと出来あがったー!!
長かった…。
とりあえず、つまったところをメモしておきます。
・phpにPOSTで渡す時のチェックボックスの扱いどうやってもカテゴリーが1つしか送信できなかったり、ちゃんと渡せてなくて「未分類」になったり・・・
いろいろやってみたけど、わからずLet’s ネットサーフィン!
諸先輩方に教えてもらおう。
[ActionScript3.0] PHPとかに配列データを送信したい。
こちらを参考にさせていただいてやっと理解!
そうかー。結局配列を渡すというより、配列の中身を1つずつ渡すような形になるってことか。
どおりで配列をそのまま送ってもいかないわけだw
・Flash側のフォーム内にwordpressからカテゴリを表示
やり方が悪いのか投稿されているカテゴリしか読み込んでくれない・・・。
wordpressの関数にDBからカテゴリを読んでくるのがあるか調べてみたけどない感じがしたので、結局直接DBから取得。
なんか邪道というか、無知というか・・・。
ひとまず出来あがったので満足^^
ただ、これのために無駄な投稿を山ほどしてしまった・・・。