【お題】PHP学習課題スレ【出せや】
■ このスレッドは過去ログ倉庫に格納されています
■流れ■
お題を出す。
↓
お題を解く。
↓
次のお題を出す。
■ルール■
しゅくだいまるなげはやめてね。
かんじょうてきになってあらすひとはほうちしてね。
って、ぜんぶおかあさんがゆってた。
まずは画面にHello! World!を表示するスクリプトを書け。 <?php
$log=@file('chat.log');
if(!is_array($log)){$log=array();}
if(isset($_POST['monolog'])){
array_unshift($log, $_POST['monolog']."\n");
$log=array_slice($log, 0, 10) ;
file_put_contents('chat.log', $log) ;
header('location: 10line_chat.php') ;
exit;
}
?>
<html><hrad></head><body><p>10行チャット<br>
<form method="post" action="10line_chat.php">
<input type="submit" value="送信"><input type="text" name="monolog"></form></p>
<?php
foreach($log as $idx=>$value){
echo '<hr>'.$value ;
}
?>
<hr></body></html>
【問題】xmlを再帰的に配列に変換する関数を定義せよ <?php
function loadXML($filename){
return simplexml_load_file($filename);
}
?> それはSimpleXMLElementで配列ではないな。 てきとーに
function parseXML($node) {
switch ($node->nodeType) {
case XML_ELEMENT_NODE:
$a = array();
for ($i = 0; $i < $node->childNodes->length; $i++) {
if ($rs = parseXML($node->childNodes->item($i))) {
$a[] = $rs;
}
}
return $a;
case XML_TEXT_NODE:
case XML_CDATA_SECTION_NODE:
return $node->data;
case XML_DOCUMENT_NODE:
return parseXML($node->documentElement);
default:
return null;
}
} >>16
分数って…
どうやって表現すんだ?
$a = $b / $c;
$a = 0.5;
とかでいいのか?普通の計算式じゃね?
解を分数にするとかならわからんでもないが、簡単すぎね? まぁいいか。
$bunsi[0] = 2;
$bunbo[0] = 5;
$bunsi[1] = 3;
$bunbo[1] = 4;
$a = $bunsi[0] / $bunbo[0] + $bunsi[1] / $bunbo[1];
echo $a;
ディレクトリ内の構造をツリー表示せよ。
aiueo
├a.txt
├kakikukeko
:├b.php
:
csvファイルを元に、データを一覧表示して、
それぞれのデータ毎に昇順、降順で並べ替えられる
PHP作ってくんない?中古車情報検索みたいなやつ。
出来が良かったら俺のサイトで使ってやるぜ?クズども。 >>19
function dirTree($path, $n = 0)
{
$dir = glob($path . '/*');
$nof = count($dir);
foreach ($dir as $i => $filename) {
if ($n > 0) {
echo str_repeat('│', $n-1);
if ($i != $nof-1) {
echo '├';
} else {
echo '└';
}
}
echo basename($filename) ."<br/>\n";
if (is_dir($filename)) {
dirTree($filename, $n + 1);
}
}
}
dirTree('.');
こんなのはどう?
最初はdirクラスでやってたけどツリーの最後を└にする方法で困ったのでglob関数にした。
超細かいところでもいいのでアドバイス求む。
>>21
http://pc10.2ch.net/test/read.cgi/php/1158647441/l50 言うに事欠いて、例題が中古車情報検索かw
いろんな意味で笑わせてもらいました。
良い年が越せそうです。 >>25
かわいそうだから教えてやるよ。
<?php
$my_csv = "CSVのファイルの場所";
// 検索ワード確認
if(isset($GET_["kensaku"])){ $kensaku_word = shellexec($_GET["kensaku"]); }
/* --ここから検索ワードに従って出力部分-- */
function get_csv_file($file){
$csv_data = @file($file);
return "$csv_data"; }
$my_csv = get_csv_file("$my_csv");
$kekka = is_array($my_csv);
if($kekka != false){ $count = @fopen($kekka); }
$count = (int)$count;
?>
<html><head><title>中古車データベース検索</head><body>
<form action="<?php echo "$_SERVER['PHP_SELF']": ?>" method="GET">
<INPUT type="text" name="kensaku">
<INPUT type="submit" value="クエリ検索"></form><?php
echo "$kensaku_word"."検索の結果";
for($i=0;$i<$count;$i++){
$line = @explode(",","$kekka");
if(isset($line[$i]){
echo "$line[$i]; }
} ?></body></html> >>25
作ったら教えてね
>>29
もうちょっと条件付けれ >>29
PHP の宣言を含めなければ2行かな。
<?php
error_log("a\n", 3, "count_file");
print("あんた" . count(@file("count_file", "r")) . "ばんめのひと");
?>
お題
配列内の変数に対し、再帰的に trim() を実行する。
再帰なので、配列の配列や配列の配列の配列の…という全てに対応させる。 array_walk_recursive($str, 'trim'); >>40
perlスクリプト⇒phpスクリプト移植要望スレのほうへ逝ったら? せっかく面白そうなスレなのにルール分かって無い奴が盛り下げたな
現在>>36のお題が未回答でOK?
>>1がちょっと分かりにくいってのも問題かな。
回答者がお題を出す、しりとり方式だって事だよね。 やらなきゃいいじゃん、こなきゃいいじゃんw
病気の方ですか? なんでやりたいって人の邪魔をしたがるの
自分の主張しかできないの やりたい人なんて4ヶ月半前の>>32しか見当たらないんだが
俺の気のせいなんだろうだろうか いや>>32がちゃんと問題を振らないからこうなったんだろw >>32の言っているURLって今はこれ?
http://pc11.2ch.net/php/dat/
タイトルのリンク先に書かれて無いよね?
2chのシステムが良く分からん。 この2chのような掲示板を作っています。
「BBS.csv」にファイル書き込みで、名前($name)とコメント(
$comment)をするように作ろうとしてます。
無事BBS.csvまでの書き込みは行けるんですが、読み込みや、書き込んだデータが
HTMLへ掲示板へ表示されない状態で困っています。
また掲示板として投稿したものを表示する際には、この掲示板のようにカウントされた数字を
名前の前に印字させる事も条件です。
今は、作りかけとかで多分、間違いも多いと思うのですが、誰か
続きを作ってくださると嬉しいです。
ソースなどの詳しい物は、以下のURLのブログ上に公開しております。
http://athxkira.exblog.jp/
です。 >>61
#任意の文字列 → ◆ランダムな文字列(8字)
・ 日が変わると変わる
つかクラスじゃなくても関数で十分か。
makeHitoricap($_SERVER['REMOTE_ADDR']);
でトリが返ってくるてな感じ phpを覚えて2,3週間目ぐらいのころphpでトリップキー解析ソフト作ったな。
aからzまで埋めた配列をforを回してつなげた結果、
さすがにphpじゃ遅すぎて3万〜4万語/sぐらいの速度しか出なかったw
いまだったらインクリメントでもっと早いのが作れるかも。
調べなきゃ分からない問題だし、調べたらそれが答えになるからあまりいい問題じゃない。
$trip = '';
if (preg_match("/([^\#]*)\#(.+)/", $_POST['FROM'], $match)) {
$salt = substr($match[2]."H.", 1, 2);
$salt = preg_replace("/[^\.-z]/", ".", $salt);
$salt = strtr($salt,":;<=>?@[\\]^_`","ABCDEFGabcdef");
$trip = substr(crypt($match[2], $salt),-10);
} お題:指定した階層を基点として、
下層に含まれる全てをツリー表示するスクリプトを20行(;)以内で書け
課題が解けません><
ページ表示は
ID: 名前:
送信ボタン
でIDに数字を入れて送信を押すとaccessからデータを取得してIDと名前を抽出して
ID欄と名前欄に表示されるようにする >>67
お題もないし、学習スレということで相談に乗ってもいいぞ
とりあえず自力ではどこまでできたのか 問題のための問題って考えるの難しいんだよな
勝手に出してみます。
問題.
配列のキー(投稿名)と値(投稿内容)で配列の構造を再現したツリー表示を描画する関数を作れ。
ちなみ私はその昔に三日を考えて独自実装しましたが、アルファベット分の子ツリーしか対応できない実装でした・・。
是非読みやすく効率的なソースを見てみたいのです。
foreach(){
$ko = "a";
$tree[$ko];
$ko++;
}
みたいな実装しか思いつかなかったんだよなぁ・・ orz >>75
それで掲示板みたいなの作れるならそれでいいんじゃない? >>76
アジア訛りで充分だろ
東洋人丸出しの顔で白人気取りに見えんのも逆に痛いし 亀レスだが>>3-4はphpで表示してないんだけどな <?php
print '<table>';
for ($i = 1; $i <= 20; $i++ ) {
print '<tr>';
for ($j = 1; $j <= 20; $j++ )
print '<td bgcolor=\"#FF9966\" width="20px" height="20px">'.$i*$j.'</td>';
print '</tr>';
}
print '</table>';
?> フォルダ構造を表示するプログラムつくれる?
treeコマンドみたいなやつ。 >>87
scandirでディレクトリ取得すればいいだろ >>83
それだと回答できなくなる。
メルセンヌ数でいいじゃん。 わざわざメルセンヌ素数って書かなかったところ?
だれも回答しないのをニヤニヤみるところ? >>91
あんたはそういうのが面白いんだろうけど、
読んで面白い話と別だな。
ところでGIMPSでは
http://www.mersenne.org/report_milestones/
>Countdown to proving M(20996011) is the 40th Mersenne Prime: 108
40番目が確定するまであと108指数だそうだ。
ちなみに、40番目の候補になってるメルセンヌ素数を表示するスクリプトは
<?php
echo file_get_contents('http://prime.isthe.com/no.index/chongo/merdigit/long-m20996011/prime-c.html') ;
?>
Countdown to proving M(20996011) is the 40th Mersenne Prime: 73
春には結果がでるかな。 PHPで指定したディレクリにあるjpg|jpeg|gif|pngの画像枚数を取得したいんだが。
うまくいかん・・・ ここで聞いていいのか微妙ですが、教えて下さい。
スマホのニュースリーダアプリを作成しています。#phpは未経験です
RSSを複数サイトから取得する処理をスマホ側でやってしまうとレスポンスが悪かったので
複数サイトからRSS取得→取得データをまとめたxmlファイルを作成し公開
という処理をレンタルサーバで実装し、問い合わせ先をまとめることでレスポンスを改善しようと思っています。
http://dezimo.com/blog/web/rssphp.php
の方法で複数サイトからRSSを取得できたのですが、取ってきた情報をxmlファイル(RSS1.0)にしてに出力というのは
このコードに処理を追記すれば実装可能でしょうか?
よろしくお願いします。 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
9LGLIS67HJ ■ このスレッドは過去ログ倉庫に格納されています