【PHP】下らねぇ質問はここに書き込みやがれ 10
■ このスレッドは過去ログ倉庫に格納されています
PHPに関する質問スレです
前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 9
http://mevius.5ch.net/test/read.cgi/tech/1513760420/
次スレは>>980以降
本文の1行目に以下を追加すること
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured >>306
登録した時間によって削除の時間が変わったりせんかな…
なんつーか個別にイベントを発行する感じにしたいんや。
一時的に登録して登録から24時間立ったら削除するみたいな。cron使う頭いいやり方があるなら知りてえ >>307
あっそうか。それをcronで判定すればいいのか。アホやな俺 そういうのを銀行などの運用業務では、日次処理と言う。
他にも、週次・月次処理もある
>>300-302
PC 内でサーバーを構築しておいて、PC を持っていって、ブラウザで動かせば? $array = ['name'=>'ななし','age'=>'20','sex=>'男']
という配列があるとして、
$array = ['member_name'=>'ななし','member_age'=>'20','member_sex=>'男']
と、キーにmember_を追加する方法を模索しています。
foreachで代入し直す以外に、簡単な方法はありますでしょうか? >>313
PHPの配列は原則的にハッシュマップだからそういう操作は想定してない $array = [
member_name => $array[name],
...
]; $array = array_combine(array_map(function($v){
return 'member_'.$v;
} ,array_keys($array)), $array);
テストしてないけどforeachのが早そう $array = (function($old){
foreach ($old as $k => $v) $new['member_'.$k] = $v;
return $new;
})($array);
foreachつかってかーさい 正規表現で、\w と [0-9A-Za-z] とで、どちらが早いとかありますか?
小文字アルファベットだけでいい時に、[a-z] と \w のどちらも指定できるとしたら、どちらが早いでしょうか? 単に1つずつ、動的に辞書に追加してるだけだろ
結局、1つずつ、すべてを追加するだけの処理 >>314-317
色々とご意見ありがとうございます。
素直にforeach使って対応します。 PHP実務で最低限知ってればいいことって何かありますか? GETとかPOSTではfilter_inputを使えという話ですが、$_SERVERを扱うときは例外で旧来通り
直接アクセスが基本ですか?
さくらサーバーでは云々という情報が引っかかるのですが。 filter_inputにこだわる必要なんて無いよ。 環境変数が改ざんされてたら
もうfilter_inputどうこうの次元じゃないけどな 例えばCで以下のようなdefineをPHPで実現するにはどうすればいいでしょうか?
#define errlog(msg) ErrorLog(__FILE__, __LINE__, msg)
初歩的ですみません。 phpさらっと勉強したのですが
具体的にphpで作られてるウェブサイトで、phpを公開してる奴ってありませんかね?
勉強のために見てみたいです WebDBアプリでソース公開されているものないですか?
デザインパターンとかも学びたいです 学校の課題でHTMLでHP作ってるんだけどwin10のパソコンで書いたやつを学校PC(win7)で開くと文字化けするんだがどうすればいいのか教えてくれ >>340
SJISとかUTF-8などの文字コードを勉強して、UTF-8が使えるテキストエディタ使え。和解の URLですが.../と打ち込んだ場合
...というファイルにアクセスするのですか? >>343
ディレクトリ名で「..」は一つ上のフォルダという意味がある。点二つね。 >>344
. 今いる所
.. ひとつ上
... 二つ上? 小学生のプログラム教材見たけど、
ロボを前へ3歩右へ2歩動かす命令をみたいなやつとか
PHPの教科書と同じレベルだわ
算数で足し算とか習ってるレベルの子供にほんとに理解できるのかな? >>336
オラは個人でポータルサイト作って公開してるが
PHPはサーバサイドの言語だから
サイト見たところで勉強にはならんと思うぞ
非遷移をやりたければAjax使わんといかんし >>350
アングリーバードのプログラミング教材は面白かった
でも、プログラミングってよりブロックタイプのやつだから
アルゴリズムを考える作業が殆だよね
micro:bitのブロックで書いたコードをJSやPythonなどに変換できる機能は良いなと思った >>352
俺見た本はぱっと見は絵が多くて小学生用なんだが普通に
条件分岐if文、ループfor文とか説明されてて
英語も算数も絡んでくるけど、今後の小中学生が脅威にかんじたわ
小さいうちから当たり前になじんでれば抵抗ないんだろうな まあphpとか仕事にしてるような奴らは仕事なくなるだろな >>350
ロボットに正三角形を書かせて出発地に戻るとか、具体的だから小学生にも分かり易い。
Turtle LOGOの流れですね。 PHPでradioにチェックマークを付けたい場合、下記は間違ってますか?
<input type="radio" name="AAA" value="OK" <?php if($HEN['AAA'] === 'OK' ){ echo 'checked'; } ?> required>OK
$HEN['AAA']は確実に'ON'です。
入力フォームで入力確認画面からsubmitで最初の画面に戻すやり方です。
戻ってきてON状態にしたいのですが、なってくれません。 >>357
>if($HEN['AAA'] === 'OK' ){
>$HEN['AAA']は確実に'ON'です。 >>358
すいませんif($HEN['AAA']の内容は「OK」です。
print_rなどで変数の内容を見ても、ちゃんと入ってます。 checkedとrequiredがつながってる可能性 ソースをみると、
<input type="radio" name="AAA" value="OK" required>
こうなります。
OKのあとに半角2つスペースでrequired >>363
提案
radioをcheckboxに変えてみる
=== を == に変えてみる
if($HEN['AAA'] === 'OK' ){ echo 'checked'; } を echo 'checked'; だけにしてみる
いずれかで何か変わりませんか?
どこかに間違いがあると思うけど、提示された範囲では分からないです >>357
><input type="radio" name="AAA" value="OK" <?php if($HEN['AAA'] === 'OK' ){ echo 'checked'; } ?> required>OK
例えば、Ruby のERB なら、
<p>
Name: <%=h name %>
</p>
h は、<, > などの特殊文字を、HTML Escape する。
でも、君のはコンテンツじゃなく、属性だから、HTML Escape してはいけない
一旦、php 文を変数に入れて、その変数をそこに書けば?
ERB では、<% 〜 %> は、Ruby式を実行するだけで、出力しない。
<%= 〜 %> は、式を実行して、そこへ出力する
同様に、phpにも、出力する記法があるのでは?
そんな、echo などを、わざわざ使うかな? 見た感じでは構文的な間違いはなさそうなんだよな
ただ全体を晒しているわけではないので、間違い部分が分からない if($HEN['AAA'] !== 'OK' ) に試しにしてみる OKっていうyvalueはちゃんと入れてるのか?
入れてないならチェックつけたらonって入ると思うけど
それは大文字ではなくて小文字のonになる
$HEN['AAA']って名前の変数は定義されてるのか?
普通に考えるとそこに入るのは$_GET['AAA']もしくは$_POST['AAA']
テンプレートエンジン使ったほうがいいと思うけど
バカ正直に書くとこんな感じになるはず
<input type="radio" name="AAA" value="OK" <?php if (isset($_POST['AAA']) && $_POST['AAA'] === 'OK') { echo 'checked '; } ?>required>
読みにくくなるが三項演算子を使えばもうちょいスッキリ書ける
もうちょい読みやすく書くと
<?php if (isset($_POST['AAA']) && $_POST['AAA'] === 'OK'): ?>
<input type="radio" name="AAA" value="OK" checked required>
<?php else: ?>
<input type="radio" name="AAA" value="OK" required>
<?php endif; ?>
>>367も言ってるけど
この条件文の前に$HENなんていう変数を本当に用意してるのであれば
その$HENの中身を'checked 'か''にするところまでやって
<input type="radio" name="AAA" value="OK" <?= $HEN ?>required>
にすりゃいいだけ ><?= $HEN ?>required
ああ!
前後に、空白が無いから、
checkedrequired みたいに、文字列がつながって、HTML の構文エラーになるのだろう!
必ず、前後に空白を入れるべし! phpで、画像にアクセスしてきたIPを保存することってできますか? ダイレクトに画像アクセスされたら分からないだろう
Webサーバーのログ見るしかない apacheでやっていることをphpでやるようにしたらできるぞ 画像は非公開領域に置いて、PHP経由で画像を出力するとかできたような ありがとうございます、もうちょっとphpを勉強してから
また考えてみます 呼んだ関数の返り値がfalse相当でなければ、その値を返す
そうでなければ、次の関数を呼んで、その値を返す
というのをスマートに書くにはどうしたらいいですか?
return func0() || func1()
と書けばいい気がしたのですが、func0の返り値が文字列の場合、うまくいきません if (func0() !== false) {
return func0();
}
return func1(); >>379
スマートにする目的はなに?
可読性?実行速度?タイプ量? >>379
イマイチ何がしたいのかわからないが、↓は駄目なんだよね?
http://codepad.org/Pmd52Nk7
↓みたいに、falseで無い文字列の場合はその文字列を返したいの?
https://ideone.com/HjePmQ >>379
三項演算子で
return func0() ? func0() : func1();
ただこれだとfunc0()を2回呼び出して無駄なので
return ($a = func0()) ? $a : func1();
かな
>>379のはJavaScriptで使うけどPHPじゃ使わない スマートってのがばく然とし過ぎてるよ。
何を叶えたくてそういう書き方をしたいのか。
それ用の構文が用意されてるか聞いてるのかな。
COALESCE みたいなのを探してるならPHP7で ??(null合体演算子)が追加されたけど、false や 0 にも適用させたいなら合わないだろうね。
if文で書くのが見やすいしメンテもしやすくてスマートなんじゃね。 動的言語じゃ短絡評価の型がboolじゃないのは普通だよ CakePHPって人気無いのか?(´・ω・`)
今、参考書読み始めたばかりなんだが 成熟したFWって感じだと思う。今から学んでも良いと思うよ twitterのBotを作りたいと思っています
指定ワードに引っかかったらブロックするという動作を入れたいのでアプリだと対応できなさそうです
と言うか PHP でもそもそもそんな仕様で作れるのかも分からないので参考になりそうな資料があったら教えてください 勉強中の身であり、変数の名前に気になるところがあるのですが、
$productName
$productColorとか、単語を並べてわかりやすくする時、2単語目は1文字目は大文字なのに、
先頭の単語は大文字にならないのをよく見受けるのですがなぜでしょうか? 世の中にはいろんな宗教があって、それぞれが信じる神に従ってる
何故その宗教なのか、人によって違うrだろうけど
好きなのを選べ >>395
そういうもんだから、としか
ローワーキャメルケースでググって phpの変数の場合は先頭に$がつくから大文字開始でもいいわなと適当に無責任に思ったりする
アンダーバー使いからでした レスどうもです、色々見てみました。
たしかに組織の中でルールを統一しないと色々不便があると思うので、こういうのがあるのですね。
for文のどこに半角スペースを入れるか入れないかでも悩んで居るので
できるだけ「ベタ」なやり方に沿っていたほうが良いとは思うのですが、標準化というのかわかりませんが、
そういう心構えを案内しているサイトは、何でググればいいでしょうか? glassfishは使えますか?
また、類似のものはありますか? >>401-402
ありがとうございます。
たしかに「〜しなければならない」と書かれると守らないより、守った方が色々トラブルなどにならないかもしれないので、
できるだけ遵守したいと思います。 ファイルの読み書きの練習でカウンターを始めたのですが、とりあえずロック無しやエラー分岐無しでも上手く動かず
var_dumpなる便利なものがあるので使ったところ、
string(3) "1 " string(3) "1 " あなたは1 人目のお客様です、 と出るようで
文字列で読んでいるため ++が効かないようです。
ただ、$count = $count = 1;とすると
string(3) "1 "
Notice: A non well formed numeric value encountered in c:\********\counter\index.php on line 7
int(2) あなたは2人目のお客様です
とファイルには1を足されて書き込めるのですが、$count++; を使って動くようにするためにはどうすればいいでしょうか。
<?php
$counter_file = "count.dat";
$counter_length = 5;
$fp = fopen($counter_file, "r+" );
$count = fgets($fp, $counter_length);
var_dump($count);
$count++;
var_dump($count);
rewind($fp);
fputs($fp, $count);
fclose($fp);
echo 'あなたは'.$count.'人目のお客様です';
?> ×:ただ、$count = $count = 1;とすると
○:ただ、$count = $count + 1;とすると
です、すいません。 ■ このスレッドは過去ログ倉庫に格納されています