4日目 おみくじとか作っちゃうかモナー!

  • 2007/11/20(火) 00:00:00

日記

【べにぢょの1日】

朝起きる
 ↓
PC起動
 ↓
ギークで検索
 ↓
『ギークなお姉さんは好きですか』 をクリック
 ↓
S・E・O! S・E・O!!

 (中略)

帰宅する
 ↓
PC起動
 ↓
ギークで検索
 ↓
『ギークなお姉さんは好きですか』 をクリック
 ↓
S・E・O! S・E・O!!


ということを繰り返してたら、ある日突然1ページ目に『ギークなお姉さんは好きですか』を確認。





いやー、SEO対策ってちゃんと報われるんですね^^^^^^
最終的には ”ギーク” と検索すると ”もしかしてべにぢょ” と出るところまで持っていきたい。
いや、そのりくつはおかしい。

ていうか、単にこのブログをブックマークしてないからなんだけど。
だってぷにるのリンクバーがいっぱいなんだもん><
TinyURLとか不要ですか?でもなかったらイザというときイラっとするしなぁ。
まぁいいや。[あとで考える]





配列を知ろう

やばい、もう勉強会から一週間経ってるではないか。早いトコ復習せねば。
配列おぼえたときは「ちょwココまで来たらもう、Majiでコンパイル5秒前じゃん!!」って
超・テンション上がったのに。
でも PHP ってコンパイルしないんでしょ?知ってる。もうとっくに気付いてるよ。
どうせみんなで紅のこと笑ってるんでしょう。いいよ。笑えばいいと思うよ。笑う角には福来る。



配列とは

前々回、変数について勉強した。
あの時の変数は1つにつき1つのデータしか入れられなかったけど、
配列というのはたくさん引き出しがあって、複数のデータを格納?できるらしい。


変数は、基本的に1つの値しか代入することができません。
(中略)
PHPでも1つの変数に複数の値を持たせることができます。
それを「配列」と呼びます。

参考:配列 / PHP入門



意味は理解した。実際やってみる。
※タグの最初は全角にしてあります。


1 <html>
2 <head><title>配列の練習</title></head>
3 <body>
4 <?php
5   $lovecall="べにぢょ";
6  print("$lovecall");
7  print("<br>");
8   $lovecall=array("ギークなお姉さん","辮髪なお兄さん","けんすうのあほ");
9  print("$lovecall[0]"); ?>
10 </body>
11 </html>


サンプル:hairetu_test.php



説明してあげるね!(一発で表示されて感動した)

7行目まではOKだよね、この前と一緒。$lovecall に"べにぢょ"を代入して表示。で、改行。
新しいのは8,9行目だ。
今度は $lovecall に3つのデータが入ってる。
array というのは配列関数と言うらしい。
参考書の説明をまんま引用すると、


関数
[戻り値=] 関数名([引数1,引数2,...])



分かった?紅は分からない。
Yahoo辞書

array
[動](他)[III[名]([副])] 1 ((通例受身))((形式))〈軍隊などを〉配列する, 配置する,
(…に対して)陣容を整える((against ...))


て言ってた。たぶん文字通り 「(カッコ)内の値を左の関数の中に置くよ」 ってことだと思う。


ソースに戻る。
$lovecall=array("ギークなお姉さん","辮髪なお兄さん","けんすうのあほ");
とあるから、$lovecall に "ギークなお姉さん","辮髪なお兄さん","けんすうのあほ"
という3つのデータを arrayするよ!と言ってる。

で、その次の print("$lovecall[0]") で表示させてるんだけど、
この [0] っていう数字は、データに自動的に振られるらしい。あきやんが言ってた。
0から順に振られるので、この場合は "ギークなお姉さん" が0、"辮髪なお兄さん" が1、
"けんすうのあほ" が2、ってことになる。
今回は0を指定したので "ギークなお姉さん" と出るのね。
ためしに2を指定すると "けんすうのあほ" が出る。

サンプル:hairetu_test2.php

2回言ったのは深い意味はない。気持ちの問題だ。





配列を使っておみくじを作ろう

ちょっとギークっぽくなってきた!!!
『おみくじとか作っちゃうかMona-』 ていうサイト開設しようかな!!!!!
その前にソース貼るね。


1<?php
2  //おみくじデータの用意
3  $aryTitle=array("大吉","中吉","小吉","吉","凶");
4  $aryKuji =array(
5   "大吉"=>"ラッキー”今日は超ハッピー!!",
6   "中吉"=>"良かった良かった。今日も元気に頑張りましょう。",
7   "小吉"=>"小さな幸せを大事にネ。",
8   "吉" =>"今日も無難に良い1日を・・・",
9   "凶" =>"ムムムな今日は大人しくすごしましょう。");
10  //おみくじのシャッフル
11  shuffle($aryTitle);
12 ?>
13 <html>
14 <head><title>今日の運勢は?</title></head>
15 <body>
16 <h1 style="background:#cccccc">今日の運勢は?</h1>
17 <dl>
18 <dt style="font size:14pt;font-weight:bold">
19  <?php print($aryTitle[0]);?></dt>
20 <dd><?php print($aryKuji[$aryTitle[0]]);?></dd>
21 </dl>
22 </body>
23 </html>




超つかれた。死にそう。
わたし、このおみくじがちゃんと動いたらお風呂入って寝るんだ・・・。
2行目の // 以下はユーザには見えない自分用メモ。ソースにも反映されない。
3行目は変数の名前が違うけど、やってることは上と一緒。
$aryTitle の中に "大吉","中吉","小吉","吉","凶" という5つのデータを配置。

4行目からちょっと慎重に行こう。
これは連想配列というらしい。
参考書によると、

array("キー名"=>"値" ,"キー名"=>"値",...)
このように定義した連想配列の値は「$配列名['キー名']」の形式で
アクセスすることができます。



えーと。
つまり、大吉を呼び出せばその中身が出てくる、ということ。
数字じゃなくて、中身が連想できる名前が付けられるから連想配列、っていうらしい。


たとえば

$lovecall=array(
  "表の顔"=>"リア充",
  "裏の顔"=>"ネット充",
  "理想の私"=>"ギークなお姉さん",
  "頑張った自分へのご褒美"=>"スイーツ");


とか。こんな感じ。連想ゲームだ。引き出しがたくさんある女っていいよね!



話を戻してソースの続き。
11行目で shuffle というのが出てくる。以下、参考書より引用。


shuffle(配列)
指定された配列内の要素をランダムに並べ替えます。



OK。$aryTitle 内の "大吉","中吉","小吉","吉","凶" を並べ替えなさい、という意味ね。
PHP はいったんココで終わる。次から html だ。
html の説明は省略。詳細は下記サイトを参照せよ。
参考:定義型リストを作るTAG indexさま)


19行目で $aryTitle の0番目のデータを表示しなさい、と言ってる。これは上でやった。
番号振ってないけどshuffleして最初に来たデータを print ってことだよね。
問題はその次だ。

($aryKuji[$aryTitle[0]])

これ、[カッコ] が二重になってる。意味不明。
でもココは先週あきやんに聞いたの!
えとね、プログラミング言語っていうのはみんなそうらしいんだけど、
こういう場合は ”内側から評価” するらしい。
左から順番に読んでいくとイミフなんだけど、PHP 的に考えると内側から読むんだって!
だから、まず最初に $aryTitle[0] を見る。
これは繰り返しになるけど shuffle して最初に来たデータのこと。
ここで "吉" とか "大吉" とか、ランダムで何かが入る。
その次に $aryKuji[ ] を見る。
そうすると $aryKuji["吉"] とか $aryKuji["大吉"] とか、そんな感じになる。
4〜9行目の連想配列でそれぞれに文字列を入れてるので、それが print されるってこと!
おぉ!でけた!!分かった!分かったよ!!!!!

サンプル:kuji.php





マジで超疲れた。これは死ぬかも分からんね。
それじゃ、今からお風呂入ってうわなんだおまえやめr


LINEで送る

この記事に対するトラックバック

この記事のトラックバックURL

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/09(月) 05:37:49

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/05(木) 17:14:54

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/04(水) 20:00:43

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/27(水) 20:40:10

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/06(水) 16:34:22

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/06(水) 13:58:24

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/03(日) 05:11:09

[プログラミング][PHP]PHP入門2 -ピザと無能と犬編(配列)-

PHPを勉強することにした。 - 牛乳工房 前回の宣言どおりレンタルサーバーとったった! この記事からソースは実行用のサンプルファイルがもれなく付いてきます。 今回は「ギークなお姉さんは好きですか 4日目 おみくじとか作っちゃうかモナー!」を参考に、配列について勉

PHPで作るチョコレートマフィンのレシピ

e-165祝電 藤本さん、お誕生日おめでとでした♪ e-241日記 こんにちワールド! ギークの皆さん、やっと終わったと安心しているところを蒸し返すようで恐縮ですが、 今年のバレンタインはいかがでしたか!? いえ、いいんです。どうか皆まで言わない...

JavaScriptを知らない私がはまちちゃんのコードを解読してみる

ぼくならこういう実装にするかな javascript:alert(((((prompt('1-9の好きな数字をいれてね')*2+5)*50)+((new Date).getFullYear()-((prompt('今年の誕生日ってもう過ぎてたっけ?(y/n)')=='y'?0:1)+249))-(prompt('西暦何年うまれ?')))+'').substr(1)) e-117Hamachiy...

7日目 ヘッダ情報が見たい!知りたい!晒したい!

e-241 日記 「エントリ書くからねえぇぇー!!」 そう叫んで別れた駅の改札口。 今日は先週行けなかったあきやん宅へけんすうと一緒にパジャマでおジャマ! や、けんすうはちゃんとした格好してたけど、紅はマジでパジャマだった。 正直、暮らす気満々だっ

タイでエビを釣ろうぜ!

e-241 日記  あいつもこいつもあのエビを!ただひっとつ狙っているんだよ!  先日、行った中華料理屋さんのエビがあまりにもおいしかったので、  敬意を表してなんか作る(`・ω・´)  エビうめぇwwwwww   ↓  この思いのたけをPHPにぶつ

SEO

そうか、SEOってこうやるのか。 ギークなお姉さんは好きですか 4日目 おみく...

S・E・O! S・E・O!!

べにじょさんに影響されて俺も気になったから試してみたよ。 朝起きる → PC起動 → ギークで検索 →『ギークなお姉さんは好きですか』 をクリック → S・E・O! S・E・O!!  (中略) 帰宅する → PC起動 → ギークで検索 → 『ギークなお姉さんは好きですか』 をクリッ

教え上手ちゃんがいれば調べようと思ってないときに出くわせるときもある

htmlspecialchars() こんな機能の関数ないわけないよなー.. とおもいつつも めんどくさいからreplaceで省いてpre するかとかわけのわからんことを 考えてたら、ありがたい人ってのはちょうどい...

この記事に対するコメント

やたw

そんな事するよりこれでエロと愛と金は確実だすwwwwアフィリ諦めますたww
 http://w-master.net/se/

なんかいきなり凶が出た・・・うっきょー!!!!!

shuffleきもくない?

普通、何かを処理したものを
$after = shuffle($array);
みたいに変数に入れるけど、arrayをそのままいじるのってちょっときもいよねー。
って、shuffle初めて使ったときに思いました。
あんまり気にしないもんなのかなー。

>えとね、プログラミング言語っていうのはみんなそうらしいんだけど、
>こういう場合は ”内側から評価” するらしい。

PHPはそうかもしれないけど違うのもある。
http://ja.wikipedia.org/wiki/遅延評価

  • 投稿者: -
  • URL
  • 2007/11/20(火) 11:01:36
  • [編集]

吉。悔しいから何回もリロードした。

初コメ

いつも面白いBlogですね!自分もPHP勉強し始めたところなので参考になってありがたいです。文章も楽しいです。ギークめざしてがんばってくださいね。
ちなみに小吉でした。。。北の国から。

やっほ〜

大吉ですた

この記事にコメントする

管理者にだけ表示を許可する