カテゴリー: php

array_multisort — 複数の多次元の配列をソートする

array_multisort — 複数の多次元の配列をソートする
「例3 データベースの結果をソートする」が理解できない。悔しいやら情けないやら。

[text]
//ソート前
Array (
 [0] => Array ( [name] => サヨナラダンス [bpm] => 127 )
 [1] => Array ( [name] => ハローグッバイ [bpm] => 88 )
 [2] => Array ( [name] => WAGON [bpm] => 131 )
)

//ソート後
Array (
 [0] => Array ( [name] => WAGON [bpm] => 131 )
 [1] => Array ( [name] => サヨナラダンス [bpm] => 127 )
 [2] => Array ( [name] => ハローグッバイ [bpm] => 88 )
)
[/text]
「こうゆうものだ」って覚えるようなものじゃない気がするんだよなぁ。
foreachとセットでしか多次元の連想配列はソート出来ないのかな。


続 photoshopのスウォッチ(.aco)を色相で並び替えるようにしたい

20091227|とりあえずのが出来たのでアップしまんた。
暫定版 photoshopのスウォッチ(.aco)を色相で並び替えるようにした
————————-

photoshopのスウォッチ(.aco)を色相で並び替えるようにしたいの続き。

まだまだ完成しないけど現状のメモ

[text]出力結果:
2
Array ( [0] => Array ( [0] => 50 [1] => 8b [2] => 94 ) [1] => Array ( [0] => 94 [1] => 50 [2] => 66 ) )
[/text]

続きを読む


photoshopのスウォッチ(.aco)を色相で並び替えるようにしたい

20091227|とりあえずのが出来たのでアップしまんた。
暫定版 photoshopのスウォッチ(.aco)を色相で並び替えるようにした
————————-

何をどうしたらそんな事が出来るようになるのかわからんので、やってる事がずれてるかもしれんけどもメモ。

.acoの中身を見たい、
バイナリエディタで見るしかないようだ。
Stirlingを使ってみる。

16進数?なにそれ、まいったな。

適当なスウォッチを何個か作って.acoで書き出して、見比べてみて判ったこと

#508b94 を2個登録したスウォッチをバイナリエディタで開くと以下の通り
[text]
00 01 00 02 00 00 50 50 8B 8B 94 93 00 00 00 00
50 50 8B 8B 94 93 00 00 00 02 00 02 00 00 50 50
8B 8B 94 93 00 00 00 00 00 08 30 B9 30 A6 30 A9
30 C3 30 C1 00 20 00 31 00 00 00 00 50 50 8B 8B
94 93 00 00 00 00 00 08 30 B9 30 A6 30 A9 30 C3
30 C1 00 20 00 32 00 00
[/text]

2色目を#945066に変更したスウォッチは以下
[text]
00 01 00 02 00 00 50 50 8B 8B 94 93 00 00 00 00
94 93 50 50 66 66 00 00 00 02 00 02 00 00 50 50
8B 8B 94 93 00 00 00 00 00 08 30 B9 30 A6 30 A9
30 C3 30 C1 00 20 00 31 00 00 00 00 94 93 50 50
66 66 00 00 00 00 00 08 30 B9 30 A6 30 A9 30 C3
30 C1 00 20 00 32 00 00
[/text]

最初の00 01と最後の00 00は定型ぽい
次の00 02が登録されてる色の数、
3つ登録してあるスウォッチは00 03で、58個登録されてるスウォッチは00 3Aだった。
(2進数、8進数、10進数、16進数相互変換で変換させてもらってます。)

次の00 00がよく分からないけど区切り?
その後の50 50 8B 8B 94 93がhex値、前半2桁だけが有効?で00 00で閉じる?

[text]00 08 30 B9 30 A6 30 A9 30 C3 30 C1 00 20 00[/text]も区切りかな

hex値ぽいところを以下のようにガーっと00にしてもちゃんと読み込む
[text]
00 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 02 00 02 00 00 50 50
8B 8B 94 93 00 00 00 00 00 08 30 B9 30 A6 30 A9
30 C3 30 C1 00 20 00 31 00 00 00 00 94 93 50 50
66 66 00 00 00 00 00 08 30 B9 30 A6 30 A9 30 C3
30 C1 00 20 00 32 00 00
[/text]
02 00 02 00からが本当の色設定?

phpのテスト

でhexからhueを取り出せた。

あと必要な事

.acoの色の格納のされ方と範囲指定しての取り出し方
phpでバイナリを読む方法
とか?
方向はあってるんのでしょうか…

とりあえずphpで読み込んでみた

辞書を引きながら、こんな感じに。

出力結果
[text]
00010002000050508b8b949300000000949350506666000000020002000050508b8b949300000000000830b930a630a930c330c1002000310000000094935050666600000000000830b930a630a930c330c1002000320000Array
(
[0] => 00010002
[1] => 50508b8b9493
[2] =>
[3] => 949350506666
[4] => 00020002
[5] => 50508b8b9493
[6] =>
[7] => 000830b930a630a930c330c100200031
[8] =>
[9] => 949350506666
[10] =>
[11] => 000830b930a630a930c330c100200032
[12] =>
)
[/text]

メモ
explode(‘区切り文字’,文字列);
explode(‘0000’,$str);

0000で区切ったけど、これだと#000が登場した時に区切り文字になってしまう。

メモ2
どうゆう風にしてけばいいんだろ
最初の2バイトを飛ばして、次の2バイトに格納されてる色の数を取得
前半00 00 RR RR GG GG BB BB 00 00で1セット
RR RRなどそれぞれの後半2文字を飛ばす
000830b930a630a930c330c1002000の前に出てくるRRRR GGGG BBBBを書き換える


ヘッダーの背景画像をランダムに表示させたくなって知恵を絞る、の巻

先日追加したテンプレート(x-ran-zatsu)のヘッダー画像が何パターンかあるので
せっかくだから全部使ってしまおうと
ランダムで背景画像を表示するjavascriptを追加してみたら、これがうまくいかない。

うまくいかないといっても、htmlに使えば動くんだけど、wordpress(php)で読み込むと画像が消えてしまう。

これがその時書いたjavascriptで
読み込んだ時のミリ秒が奇数か偶数かで分岐させて、#headerの背景を差し替える。
phpで使う場合jsの読み込ませる場所が違うのかな?

関係ないけどキーボードの調子がすこぶる悪い。
文字側のenter(テンキー側のは反応する)やc,v,F7あたりが反応したり、しなかったり、延々と一文字が入力され続けたり。

さて、粘ってみたけど、うまい解決法も閃かないので別の方法を考える事にした。
せっかくwordpressでphpを使っているのだから、phpで出来ないかね?と辞書を片手にシコシコ書いてみたら、とりあえず動くだけというものだけど、出来たので手順を晒してみます。

続きを読む


ついったなうぷらぎん

simpleだと右側にあってnormalだとフッターあたりにある、ついったーの投稿を表示するやつをアップしまんた
使いたい方は勝手に持っていってください。
コメントも連絡もいりません、改造もなにもかもお好きにどうぞ。

[追記 / 20100621]
ダウンロードしても、中身が真っ白になってました(報告ありがとうございました。そしてごめんなさい)。

zipに包んでアップしなおしたので今度は大丈夫だと思います。
ついでにサンプルCSSと画像を梱包しました。