!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
★スレ立て時 ↑ が3行以上になるようコピペ
PHPに関する質問スレです
前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 12
https://mevius.5ch.net/test/read.cgi/tech/1619667579/
次スレは>>980以降
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
【PHP】下らねぇ質問はここに書き込みやがれ 13
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウクー MM6f-zbgo)
2021/09/09(木) 09:38:43.41ID:eDlF7Xc4M424デフォルトの名無しさん (ワッチョイ fbcb-bSSa)
2022/03/19(土) 19:42:49.56ID:Jz9s8SFR0 mysqlだと思ってました
確認出来ますかねどこかから
確認出来ますかねどこかから
425デフォルトの名無しさん (アウアウアー Sa8b-2nH7)
2022/03/20(日) 03:34:28.76ID:PJzlle4Da >>423
まじか、知らんかった
まじか、知らんかった
426デフォルトの名無しさん (ワッチョイ 2902-slYA)
2022/03/20(日) 09:54:51.30ID:mQY/Vvp+0 簡単な選択肢という点へのレスじゃないの
solite自体はモジュールを有効にするだけでしょ?
solite自体はモジュールを有効にするだけでしょ?
427デフォルトの名無しさん (ワッチョイ 2902-slYA)
2022/03/20(日) 09:55:39.92ID:mQY/Vvp+0 なんでsoになってんだろ
428デフォルトの名無しさん (スップ Sd73-qTDW)
2022/03/20(日) 11:10:51.73ID:4DHwN15Vd xamppでは結構な前に、mysqlからmariadbに変更になったんじゃないかな
sqliteはただのファイルだから、xamppでもPDOから簡単に使える気がする
sqliteはただのファイルだから、xamppでもPDOから簡単に使える気がする
429デフォルトの名無しさん (ワッチョイ 8bf2-nf1F)
2022/03/20(日) 22:49:21.68ID:hQnXKhQ80 実行時のエラーを画面に表示させないかわりにログに吐き出したいのですが、
探し方が悪いのかerror_reportingが見つかるばかりでよく分かりません
どのようにすれば実現できますか?
探し方が悪いのかerror_reportingが見つかるばかりでよく分かりません
どのようにすれば実現できますか?
430デフォルトの名無しさん (ワッチョイ fb66-iJS8)
2022/03/20(日) 23:44:33.14ID:kJ/tleYc0 php.ini ログでぐぐればいいのでは
431デフォルトの名無しさん (ワッチョイ 8bf2-nf1F)
2022/03/21(月) 01:52:05.78ID:ReDZXCqw0 >>430
ありがとう
ありがとう
432デフォルトの名無しさん (ワッチョイ d135-hbM6)
2022/03/21(月) 04:01:12.26ID:ZOcxwlgI0 えいえいるー
433デフォルトの名無しさん (ワッチョイ 531b-bSSa)
2022/03/21(月) 07:16:20.70ID:1Zq9yw2r0 phpで取得した日付をデータベースに保存するために、何の関数を使うんでしょうか?
434デフォルトの名無しさん (ワッチョイ b9a7-tpIf)
2022/03/21(月) 09:34:41.09ID:FQPswJNc0 使うDBによる
ていうかそんな質問してるってことはSQLの勉強すっ飛ばしてるんだろうから
ORMとかdoctrineとかで調べたほうが良いんじゃね
ていうかそんな質問してるってことはSQLの勉強すっ飛ばしてるんだろうから
ORMとかdoctrineとかで調べたほうが良いんじゃね
435デフォルトの名無しさん (スップ Sd73-qTDW)
2022/03/21(月) 10:44:58.61ID:KEZLBWrAd436デフォルトの名無しさん (ワッチョイ 531b-bSSa)
2022/03/21(月) 12:33:57.27ID:1Zq9yw2r0437デフォルトの名無しさん (ワッチョイ d135-hbM6)
2022/03/21(月) 12:42:33.00ID:ZOcxwlgI0 すっきりわかるSQL入門第2版が分かりやすかった。おすすめ。
あと自分はPHP7+MariaDB/MySQLマスターブック読んだ。
PHP8にしてたらそのまま動くのかは不明。
あと自分はPHP7+MariaDB/MySQLマスターブック読んだ。
PHP8にしてたらそのまま動くのかは不明。
438デフォルトの名無しさん (ワッチョイ 531b-bSSa)
2022/03/21(月) 13:06:21.14ID:1Zq9yw2r0 phpで簡易cms的なものを作るにはデータベース必須すね、、、
がんばります
がんばります
439デフォルトの名無しさん (ワッチョイ 531b-bSSa)
2022/03/21(月) 20:27:54.24ID:1Zq9yw2r0 sqlでテーブル作成するにはこの構文で間違ってるでしょうか?
create table tableName(
table1,
table2,
);
xampp使用です
以下エラー文
静的解析:
解析中に 2 個のエラーが見つかりました。
認識できないデータ形式。 (near "," at position 31)
カンマか閉じる括弧があるべきです。 (near "table2" at position 34)
SQL クエリ: コピー
create table tableName( table1, table2, )
MySQL のメッセージ: ドキュメント
#1064 - SQL構文エラーです。バージョンに対応するマニュアルを参照して正しい構文を確認してください。 : '
table2,
)' 付近 2 行目
create table tableName(
table1,
table2,
);
xampp使用です
以下エラー文
静的解析:
解析中に 2 個のエラーが見つかりました。
認識できないデータ形式。 (near "," at position 31)
カンマか閉じる括弧があるべきです。 (near "table2" at position 34)
SQL クエリ: コピー
create table tableName( table1, table2, )
MySQL のメッセージ: ドキュメント
#1064 - SQL構文エラーです。バージョンに対応するマニュアルを参照して正しい構文を確認してください。 : '
table2,
)' 付近 2 行目
440蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd33-S5Ea)
2022/03/21(月) 20:31:42.83ID:1iHLA9O+d table2の後のカンマが余分
441デフォルトの名無しさん (ワッチョイ 531b-bSSa)
2022/03/21(月) 21:09:44.05ID:1Zq9yw2r0 カンマ排除しても変化なしでした、、、
442デフォルトの名無しさん (アウアウクー MM05-6xcJ)
2022/03/21(月) 21:12:26.26ID:hqVGHGm5M 型も書かないとダメじゃないかな
443デフォルトの名無しさん (オッペケ Sr85-uTnq)
2022/03/22(火) 04:32:12.72ID:Vsg5BiCzr さすがにテーブルの作り方くらいこんなところで聞かないでググればわかるだろ
なんでここでレス待って無駄な時間かけてるのか
質問スレだから別にいいんだが
なんでここでレス待って無駄な時間かけてるのか
質問スレだから別にいいんだが
444デフォルトの名無しさん (ワッチョイ 531b-bSSa)
2022/03/22(火) 06:33:01.42ID:FjT2kSkU0 すみません 調べる能力もないので
調べたとおりやってもエラー出るもんですから
調べたとおりやってもエラー出るもんですから
445デフォルトの名無しさん (オッペケ Sr85-uTnq)
2022/03/22(火) 09:40:36.98ID:Vsg5BiCzr そっか
446デフォルトの名無しさん (ワッチョイ 8149-MdQT)
2022/03/22(火) 10:57:47.69ID:qiHhH37I0 そもそもSQLをなんだと思ってるんだ?
table1やらtable2やらを、create table文のそこに書いて何をしたいんだ?
どこのサイトにそこに"table"(名?)を入れろって書いてあるんだ?
せめて"column"とだけ入れてエラーになったんなら理解出来なくもないけど
意味わからん。読まずにコピペだけして全部がうまく行くと思うなよ
table1やらtable2やらを、create table文のそこに書いて何をしたいんだ?
どこのサイトにそこに"table"(名?)を入れろって書いてあるんだ?
せめて"column"とだけ入れてエラーになったんなら理解出来なくもないけど
意味わからん。読まずにコピペだけして全部がうまく行くと思うなよ
447デフォルトの名無しさん (ワッチョイ 531b-bSSa)
2022/03/22(火) 13:06:14.45ID:FjT2kSkU0 うっす
あとで来ます
あとで来ます
448デフォルトの名無しさん (ワッチョイ 1302-yL30)
2022/03/23(水) 20:10:40.92ID:6/u1gnhe0 ECサイト作りながらphpの学習してます。
MVCフレームワークの件で、
Controllerと、Modelの切り分けがよくわかっていません。
例えば、処理に対するものは全部Modelに組み込んで、
Controllerには、require_onceなど他のファイルを読み込ませるだけではいけないのでしょうか?
サンプルを見るとセッションや、データベース接続などは、
Controllerに書かれているものもあります。
結構ここらは曖昧なもの、きっちり切り分けできないものでしょうか?
MVCフレームワークの件で、
Controllerと、Modelの切り分けがよくわかっていません。
例えば、処理に対するものは全部Modelに組み込んで、
Controllerには、require_onceなど他のファイルを読み込ませるだけではいけないのでしょうか?
サンプルを見るとセッションや、データベース接続などは、
Controllerに書かれているものもあります。
結構ここらは曖昧なもの、きっちり切り分けできないものでしょうか?
449デフォルトの名無しさん (ワッチョイ 531b-bSSa)
2022/03/23(水) 21:05:09.72ID:k5Zp6smO0 質問です
phpmyadminを使って登録データを書き換える場合はsql文を使う感じでしょうか?
10年くらい前に使ってたんですが、uiから操作もできた気がします
phpmyadminを使って登録データを書き換える場合はsql文を使う感じでしょうか?
10年くらい前に使ってたんですが、uiから操作もできた気がします
450デフォルトの名無しさん (オッペケ Sr85-uTnq)
2022/03/23(水) 22:22:39.11ID:/pNbKJbmr できます
451デフォルトの名無しさん (ワッチョイ 531b-bSSa)
2022/03/23(水) 23:25:16.26ID:k5Zp6smO0 dもっす
452448 (ワッチョイ 1302-yL30)
2022/03/23(水) 23:31:34.77ID:6/u1gnhe0 関数になっているものは、modelにあげればいいのかな。
関数になってないものは、Controllerで。。
関数になってないものは、Controllerで。。
453デフォルトの名無しさん (ワッチョイ 292c-kNuw)
2022/03/24(木) 03:13:37.21ID:wr7gmjuR0 >>448
Ruby on Rails では、Model がデータベース、View がHTML など。
Controller がそれら以外の雑多なもの、routing など
他に、サービスオブジェクトは、fat model を避けるために、特定の機能を抜き出す
サービスオブジェクトがアンチパターンと思うなら、
concern に、1つの関心事・責務をまとめる
歴史的経緯では、fat controllerを避けるため、処理をモデルに詰め込んだ。
次に、fat modelを避けるため、サービスオブジェクト・concernが登場した
フォームオブジェクトはHTMLのForm をまとめる
他に、form presenter, model presenter は、decorator の一種だが、
View から、複雑なコード部分を抜き出す
Ruby on Rails では、Model がデータベース、View がHTML など。
Controller がそれら以外の雑多なもの、routing など
他に、サービスオブジェクトは、fat model を避けるために、特定の機能を抜き出す
サービスオブジェクトがアンチパターンと思うなら、
concern に、1つの関心事・責務をまとめる
歴史的経緯では、fat controllerを避けるため、処理をモデルに詰め込んだ。
次に、fat modelを避けるため、サービスオブジェクト・concernが登場した
フォームオブジェクトはHTMLのForm をまとめる
他に、form presenter, model presenter は、decorator の一種だが、
View から、複雑なコード部分を抜き出す
454デフォルトの名無しさん (アウアウアー Sa8b-6xcJ)
2022/03/24(木) 06:31:15.00ID:amoIRmUua スレ違いも守れない身勝手なクズ
455デフォルトの名無しさん (ワッチョイ 417d-LN6m)
2022/03/24(木) 08:40:06.48ID:i96xuoDh0 これがホントのすれ違い
456デフォルトの名無しさん (ワッチョイ 531b-bSSa)
2022/03/25(金) 06:36:29.43ID:/HPMPID90 データベースの操作は、pdoというものを使うのが基本なんすか?
457デフォルトの名無しさん (アウアウクー MM05-6xcJ)
2022/03/25(金) 07:13:01.47ID:+mvdxmyUM DBはpdoで使うけどWEBアプリ作る時はWEBアプリフレームワークが用意してるDB用ライブラリで使う。
WEBアプリフレームワークが用意してる DB用ライブラリといってもdoctrine使ってるだけだったりする。
DB接続管理しないとDB接続切断漏れでメモリ使用量が増えて接続出来なくなることがあるからそういうのも管理してるDB用ライブラリを使うと良い
WEBアプリフレームワークが用意してる DB用ライブラリといってもdoctrine使ってるだけだったりする。
DB接続管理しないとDB接続切断漏れでメモリ使用量が増えて接続出来なくなることがあるからそういうのも管理してるDB用ライブラリを使うと良い
458デフォルトの名無しさん (ワッチョイ 531b-bSSa)
2022/03/25(金) 07:23:42.39ID:/HPMPID90 ありがとうございます
生のphpなのでpdo使いますです
生のphpなのでpdo使いますです
459デフォルトの名無しさん (スップ Sd73-qTDW)
2022/03/25(金) 09:02:55.24ID:f5febzbDd460デフォルトの名無しさん (ワッチョイ fbe7-SQ3f)
2022/03/25(金) 18:00:35.30ID:j4lS34YJ0 $fp = fopen("unko.txt","r") or return;
ってやりたいんだけど、当たり前だけど式じゃないから
これ出来ないじゃん?
で、質問だけど、PHPに 「リターンする式」 ってある?
ってやりたいんだけど、当たり前だけど式じゃないから
これ出来ないじゃん?
で、質問だけど、PHPに 「リターンする式」 ってある?
461デフォルトの名無しさん (ワッチョイ 3915-bSSa)
2022/03/25(金) 18:11:57.98ID:FU08ODZm0 無名関数
462デフォルトの名無しさん (ワッチョイ 1302-SjDQ)
2022/03/25(金) 19:42:33.75ID:E8AHZ+++0 >>453
ありがとうございました。
ありがとうございました。
463デフォルトの名無しさん (ワッチョイ 1302-SjDQ)
2022/03/25(金) 19:43:10.27ID:E8AHZ+++0 ログインのページで
session_start();
でセッションIDが発行され、サーバー側に保存、クライアントのブラウザにセッションIDの値がクッキーに保存されることは理解していますが?
そのあとの画面遷移で、
再度
session_start();
と記述されています。
これって?画面遷移したら、新たなセッションIDが発行されるということでしょうか?
それとも、既にセッションIDが廃棄されてない状態で、
session_start();が実行する場合は、別の意味になるのでしょうか?
session_start();
でセッションIDが発行され、サーバー側に保存、クライアントのブラウザにセッションIDの値がクッキーに保存されることは理解していますが?
そのあとの画面遷移で、
再度
session_start();
と記述されています。
これって?画面遷移したら、新たなセッションIDが発行されるということでしょうか?
それとも、既にセッションIDが廃棄されてない状態で、
session_start();が実行する場合は、別の意味になるのでしょうか?
464デフォルトの名無しさん (ワッチョイ 937c-noGs)
2022/03/25(金) 19:55:52.59ID:Sxm//NSL0 画面遷移したらそもそも前の画面と今の画面とは処理的に何もつながりが無いから
セッションで同じユーザーですよという判別をする訳なのだがw
一度セッション開始していれば、セッションのクッキーの有効期限が過ぎてなければ残っているから
この辺の仕組みが分かってないなら、根本的な所から勉強した方が良いのでは?
セッションで同じユーザーですよという判別をする訳なのだがw
一度セッション開始していれば、セッションのクッキーの有効期限が過ぎてなければ残っているから
この辺の仕組みが分かってないなら、根本的な所から勉強した方が良いのでは?
465デフォルトの名無しさん (ワッチョイ 1302-SjDQ)
2022/03/25(金) 20:14:25.57ID:E8AHZ+++0 ありがとうございます。
最初のページで
session_start(); はセッションIDの発行。
画面遷移後の、
session_start(); は既存のセッションIDの継続。
のような意味合いで捉えればいいでしょうか?
最初のページで
session_start(); はセッションIDの発行。
画面遷移後の、
session_start(); は既存のセッションIDの継続。
のような意味合いで捉えればいいでしょうか?
466デフォルトの名無しさん (スップ Sd73-qTDW)
2022/03/25(金) 21:20:27.36ID:f5febzbDd >>465
そうだよ
session_start — 新しいセッションを開始、あるいは既存のセッションを再開する
https://www.php.net/manual/ja/function.session-start.php
簡単に言えば、セッションの機能を使いたい場合は、そのすべてのページで、
最初にsession_start()を実行することになる
参考までに、新たなセッションIDの発行は、session_regenerate_idを使う
たとえば、ログインページなどで、セキュリティのためセッションIDを別のものに切り替える
そうだよ
session_start — 新しいセッションを開始、あるいは既存のセッションを再開する
https://www.php.net/manual/ja/function.session-start.php
簡単に言えば、セッションの機能を使いたい場合は、そのすべてのページで、
最初にsession_start()を実行することになる
参考までに、新たなセッションIDの発行は、session_regenerate_idを使う
たとえば、ログインページなどで、セキュリティのためセッションIDを別のものに切り替える
467デフォルトの名無しさん (ワッチョイ 1302-SjDQ)
2022/03/25(金) 21:49:53.02ID:E8AHZ+++0 ありがとうございます。
すごくわかりやすかったです。
すごくわかりやすかったです。
468デフォルトの名無しさん (ワッチョイ 79ac-+/qe)
2022/03/26(土) 00:39:12.54ID:t422X2fY0 いえいえ
469デフォルトの名無しさん (ワッチョイ f568-+Ivz)
2022/03/27(日) 08:52:49.93ID:2Abk94v90 デバッグ用の関数を考えています
変数の中見を見た後、die()で止めるにはどのようにすれば良いでしょうか?
以下だと、returnで終わってしまいますのでdie()が実行されませんでした。
function v($var){
return var_dump($var);
die();
}
変数の中見を見た後、die()で止めるにはどのようにすれば良いでしょうか?
以下だと、returnで終わってしまいますのでdie()が実行されませんでした。
function v($var){
return var_dump($var);
die();
}
470デフォルトの名無しさん (ワッチョイ debb-rfKR)
2022/03/27(日) 09:30:34.37ID:Jy1Ztdu30 普通にデバッガ使えば?
471デフォルトの名無しさん (ワッチョイ f568-+Ivz)
2022/03/27(日) 09:37:32.03ID:2Abk94v90472デフォルトの名無しさん (ワッチョイ 0961-4qAJ)
2022/03/27(日) 11:19:54.18ID:px6SVueC0 var_dumpに戻り値ないのになぜreturnしたいのか
473デフォルトの名無しさん (ワッチョイ f568-+Ivz)
2022/03/27(日) 11:50:38.48ID:2Abk94v90474デフォルトの名無しさん (ワッチョイ 5e63-+Ivz)
2022/03/27(日) 12:13:35.23ID:o0+t6QgP0 いいってことよ
475デフォルトの名無しさん (アウアウウー Sacd-bb9c)
2022/03/27(日) 17:56:14.40ID:TscJEPL7a データベースを使わずに無理やり返信機能を作ろうとしてるんですが、やっぱりまずいでしょうか?
なんでもデータベースを使うのは嫌なんですが、使わないとクラッカーの攻撃の的になって迷惑をかけると書いてあったんですが
デフォルトのやり方に沿ってデータベースを使わないと駄目なんでしょうか?
なんでもデータベースを使うのは嫌なんですが、使わないとクラッカーの攻撃の的になって迷惑をかけると書いてあったんですが
デフォルトのやり方に沿ってデータベースを使わないと駄目なんでしょうか?
476デフォルトの名無しさん (ワッチョイ a9da-QwVt)
2022/03/27(日) 23:50:25.02ID:TRkpHzjA0477デフォルトの名無しさん (ワッチョイ 527c-+Ivz)
2022/03/28(月) 01:20:54.04ID:ee0nwmF40 >>475
別にファイルなどに保存(大昔の掲示板のデータなどはそうやってた)でもいいのだけど
ファイルだとアクセスが競合すると意図しない結果になる可能性があるのでロックしたりやら何気に面倒なので
今ではちょっとしたデータでもDBに保存するのが普通になっているだけ
Sqliteとかでも導入した方が良いかと思うしLinuxならmysqlとか簡単に入れられるし何故DBを避けるのか?
SQLが全く分からないようなレベルだとしたら、ファイルでやるのも難しいのでは?
別にファイルなどに保存(大昔の掲示板のデータなどはそうやってた)でもいいのだけど
ファイルだとアクセスが競合すると意図しない結果になる可能性があるのでロックしたりやら何気に面倒なので
今ではちょっとしたデータでもDBに保存するのが普通になっているだけ
Sqliteとかでも導入した方が良いかと思うしLinuxならmysqlとか簡単に入れられるし何故DBを避けるのか?
SQLが全く分からないようなレベルだとしたら、ファイルでやるのも難しいのでは?
478デフォルトの名無しさん (ワッチョイ b12c-XwpL)
2022/03/28(月) 07:44:22.82ID:bggr0gZp0 ブラウザは内部的に、Sqlite を使っている
そういうアプリは無数にある
そういうアプリは無数にある
479デフォルトの名無しさん (オッペケ Sr79-+/qe)
2022/03/28(月) 08:40:30.91ID:e+R9J1ENr DB使えない縛りとか地獄だろw
480デフォルトの名無しさん (ワッチョイ 36e7-KsOI)
2022/03/28(月) 09:24:21.21ID:Z3wXEIoi0 ファイルシステムは広義のデータベース
積極的に使おう
積極的に使おう
481デフォルトの名無しさん (ワッチョイ 5ef2-5V+H)
2022/03/28(月) 13:15:04.75ID:65kZIKhN0 クライアントから送られてくるCSVを処理してCSVで返す仕事をしています
482デフォルトの名無しさん (アウアウウー Sacd-bb9c)
2022/03/28(月) 16:39:58.25ID:KVxU4Wgwa483デフォルトの名無しさん (ワッチョイ 5e63-+Ivz)
2022/03/28(月) 17:32:41.80ID:aTlav5QD0 やりたい事がそれで完結するなら、
それで良いんじゃないか?
それで良いんじゃないか?
484デフォルトの名無しさん (ワッチョイ 79ac-+/qe)
2022/03/28(月) 19:09:14.66ID:AcTRGxgL0 それでいいんならいいんじゃね
ワイだったら後からの苦労が死ぬほどつらそうで嫌だ
ワイだったら後からの苦労が死ぬほどつらそうで嫌だ
485デフォルトの名無しさん (アウアウクー MM39-PoTm)
2022/03/29(火) 10:39:38.02ID:5ZnN2+IRM xdebugって本番環境に入れても良いの?
リモートipアドレスでデバッグ環境が有効になるから問題無い?
リモートipアドレスでデバッグ環境が有効になるから問題無い?
486デフォルトの名無しさん (ワッチョイ debb-rfKR)
2022/03/29(火) 10:43:32.61ID:75Mdmk0b0 ふつうはいれないよー
487デフォルトの名無しさん (アウアウクー MM39-PoTm)
2022/03/29(火) 11:10:00.92ID:5ZnN2+IRM 入れたらダメなのね
ちなみに本番環境に入れたらとんでもない事態っておこるものなの?
想像力が欠如していてどうなってしまうかわからないです
ちなみに本番環境に入れたらとんでもない事態っておこるものなの?
想像力が欠如していてどうなってしまうかわからないです
488デフォルトの名無しさん (ワッチョイ ad49-+/qe)
2022/03/29(火) 11:23:48.03ID:3wCJ+Lll0 仮に脆弱性があった場合、
通常本番に入れるべきではないとされるものを開発側の理由で入れてた責任を取れるならいいんじゃね
ipスプーフィングされちゃいましたとかもあるし、普通セキュリティリスクは極力避けるものだと思うよ
通常本番に入れるべきではないとされるものを開発側の理由で入れてた責任を取れるならいいんじゃね
ipスプーフィングされちゃいましたとかもあるし、普通セキュリティリスクは極力避けるものだと思うよ
489デフォルトの名無しさん (ワッチョイ 5e63-+Ivz)
2022/03/29(火) 11:31:07.52ID:N66wcHnK0 その本番環境がなんだか分からないが
一般論として、本番に穴が空く可能性は極力排除
一般論として、本番に穴が空く可能性は極力排除
490デフォルトの名無しさん (ワッチョイ 9202-VQaK)
2022/03/29(火) 16:57:15.91ID:snERMp370 同じphpファイルにある、フォームからデータをPOSTで受け取り、
データベースにデータを登録したあと、ブラウザリロードすると重複してしまうという事象。
一つは、header関数で、自分自身のファイルへロケーション設定させる方法。
https://www.php.net/manual/ja/functions.returning-values.php
あとトークンを使う方法。
https://techacademy.jp/magazine/41842
どっち使っても問題ないですか?
どっち使っても同じなら、簡単なロケーション設定で対応したいと思いますが、ご意見ありますか?
データベースにデータを登録したあと、ブラウザリロードすると重複してしまうという事象。
一つは、header関数で、自分自身のファイルへロケーション設定させる方法。
https://www.php.net/manual/ja/functions.returning-values.php
あとトークンを使う方法。
https://techacademy.jp/magazine/41842
どっち使っても問題ないですか?
どっち使っても同じなら、簡単なロケーション設定で対応したいと思いますが、ご意見ありますか?
491デフォルトの名無しさん (ワッチョイ 527c-+Ivz)
2022/03/29(火) 17:45:14.13ID:g2SW/NK60492デフォルトの名無しさん (アウアウクー MM39-PoTm)
2022/03/30(水) 06:52:25.55ID:YVzwLlXSM xdebugの件ありがとうございました
サーバ移行先に少し機能を付け加えたものが動かない部分があるので、
本番運用するまでに限りxdebugを有効にするのはやっても良いでしょうか?
サーバ移行先に少し機能を付け加えたものが動かない部分があるので、
本番運用するまでに限りxdebugを有効にするのはやっても良いでしょうか?
493デフォルトの名無しさん (アウアウアー Sac6-IDr3)
2022/03/30(水) 08:11:04.90ID:5+ozggRTa 関係者に了承もらって勝手にやれよ。終わったら無効にしとけよ
494デフォルトの名無しさん (ワッチョイ 5e10-5yPK)
2022/03/30(水) 11:12:36.66ID:m5cOXdIB0 これから3年ぐらいの運用を見越して開発する場合、PHP8が必須ですかね?
普段はLaravelで開発しているのですが、8か9かで悩んでいます。
なぜ悩むかと言うと、PHP7系の情報量が多いからです。
未だにPHP5を使えるようにしているレンサバもあるし、
PHP7でも大丈夫ではないか?と思う反面、セキュリティも気になります。
目的は個人サイト用ですが、仕事でこれから開発する人は
どのバージョンを選択するか教えて下さい。
普段はLaravelで開発しているのですが、8か9かで悩んでいます。
なぜ悩むかと言うと、PHP7系の情報量が多いからです。
未だにPHP5を使えるようにしているレンサバもあるし、
PHP7でも大丈夫ではないか?と思う反面、セキュリティも気になります。
目的は個人サイト用ですが、仕事でこれから開発する人は
どのバージョンを選択するか教えて下さい。
495デフォルトの名無しさん (オッペケ Sr79-ziqS)
2022/03/30(水) 11:23:44.28ID:pW4vMWner 個人なら好きなの使えばいい
どうせ世の中ゴミだらけのphpだし
セキュリティなんてバージョンだけでどうにかなるようなものではない
どうせ世の中ゴミだらけのphpだし
セキュリティなんてバージョンだけでどうにかなるようなものではない
496デフォルトの名無しさん (ワッチョイ b12c-XwpL)
2022/03/30(水) 11:44:32.48ID:SZ4iQ/We0 >>490
参考までに、Ruby on Rails 6 で2重送信を防ぐには、
data: { disable_with: '送信中...' }
と書くだけだったが、
Rails 7 からは、CSS で制御する方式に変わった
<button class="btn btn-primary">
<span class="show-when-enabled">送信</span>
<span class="show-when-disabled">送信中...</span>
</button>
button .show-when-disabled { display: none; }
button[disabled] .show-when-disabled { display: initial; }
button .show-when-enabled { display: initial; }
button[disabled] .show-when-enabled { display: none; }
参考までに、Ruby on Rails 6 で2重送信を防ぐには、
data: { disable_with: '送信中...' }
と書くだけだったが、
Rails 7 からは、CSS で制御する方式に変わった
<button class="btn btn-primary">
<span class="show-when-enabled">送信</span>
<span class="show-when-disabled">送信中...</span>
</button>
button .show-when-disabled { display: none; }
button[disabled] .show-when-disabled { display: initial; }
button .show-when-enabled { display: initial; }
button[disabled] .show-when-enabled { display: none; }
497デフォルトの名無しさん (ワッチョイ 5e63-+Ivz)
2022/03/30(水) 11:48:58.08ID:ghU4o1Ed0 あまり知識なさそうな人なら、情報量が多いバージョン使うのが良いのでは?
ご自身もそう考えていそうだし、背中押してあげようか?
ご自身もそう考えていそうだし、背中押してあげようか?
498デフォルトの名無しさん (ワッチョイ b12c-XwpL)
2022/03/30(水) 11:50:31.65ID:SZ4iQ/We0 phpMyAdmin も、ブラウザでデータベースを見れて便利だから、
本番へ入れる香具師も多いけど、脆弱性を狙われる
本番へ入れる香具師も多いけど、脆弱性を狙われる
499デフォルトの名無しさん (ワッチョイ ad49-+/qe)
2022/03/30(水) 13:54:06.58ID:bMF+K+xO0 webサイトの攻撃を見れる立場だと、phpmyadmin狙ったクエリが多いことに気付けるよねw
あれは最初ビビったw
あれは最初ビビったw
500デフォルトの名無しさん (ワッチョイ 9202-tbOq)
2022/03/30(水) 23:14:02.09ID:1ooXHKRQ0 オライリーの本にでてたのだけど。サンプルが間違ってるのかな?
次の$dinnerの値がfalseなのに、if条件がtrueになるのは何故?
if($dinner == 'Braised Scallops') {
print "Yum! I love seafood.";
}
次の$dinnerの値がfalseなのに、if条件がtrueになるのは何故?
if($dinner == 'Braised Scallops') {
print "Yum! I love seafood.";
}
501デフォルトの名無しさん (ワッチョイ 9202-tbOq)
2022/03/30(水) 23:21:03.84ID:1ooXHKRQ0 ちなみに以下なら、if条件はfalseになる。
if($dinner === 'Braised Scallops') {
print "Yum! I love seafood.";
}
リテラルと「false」で「==」の比較をするとtrueが返ってくるの??
if($dinner === 'Braised Scallops') {
print "Yum! I love seafood.";
}
リテラルと「false」で「==」の比較をするとtrueが返ってくるの??
502デフォルトの名無しさん (ワッチョイ 527c-+Ivz)
2022/03/31(木) 04:42:22.69ID:8HckyYNU0 その上のコードが無いと判断出来んわ
503500 (ワッチョイ 9202-tbOq)
2022/03/31(木) 04:48:46.10ID:oh99lNSH0 if(isset($_POST['input1'])==false){$_POST['input1']=false;}
if(isset($_POST['input2'])==false){$_POST['input2']=false;}
if(isset($_POST['input3'])==false){$_POST['input3']=false;}
$input_set1=0;
if(true == $_POST['input1']){ $input_set1 = $_POST['input1'];}
else {$input_set1 = 0;}
if(true == $_POST['input2']){ $input_set2 = $_POST['input2'];}
else {$input_set2 = 0;}
if(true == $_POST['input3']){ $input_set3 = $_POST['input3'];}
else {$input_set3 = 0;}
$new_messages = $input_set1;
$max_messages = $input_set2;
$dinner = $input_set3;
if(isset($_POST['input2'])==false){$_POST['input2']=false;}
if(isset($_POST['input3'])==false){$_POST['input3']=false;}
$input_set1=0;
if(true == $_POST['input1']){ $input_set1 = $_POST['input1'];}
else {$input_set1 = 0;}
if(true == $_POST['input2']){ $input_set2 = $_POST['input2'];}
else {$input_set2 = 0;}
if(true == $_POST['input3']){ $input_set3 = $_POST['input3'];}
else {$input_set3 = 0;}
$new_messages = $input_set1;
$max_messages = $input_set2;
$dinner = $input_set3;
504500 (ワッチョイ 9202-tbOq)
2022/03/31(木) 04:49:36.14ID:oh99lNSH0 print <<<HTML_FORM
<form method="POST" action="$_SERVER[PHP_SELF]">
<ul>
<li>10,abcdef<input type="text" name="input1" >
<li>abcdef<input type="text" name="input2" >
<li>Braised Scallops<input type="text" name="input3" >
<button type="submit">送信する</button>
</form>
HTML_FORM;
print "$new_messages <br>";
print "$max_messages <br>";
print "$dinner <br>";
print "This is always printed.<br>";
if ($new_messages == 10){
print "You have ten new messages.<br>";
}
if($new_messages == $max_messages) {
print "You have the maximum number of messages.<br>";
}
if($dinner == 'Braised Scallops') {
print "Yum! I love seafood.";
}
<form method="POST" action="$_SERVER[PHP_SELF]">
<ul>
<li>10,abcdef<input type="text" name="input1" >
<li>abcdef<input type="text" name="input2" >
<li>Braised Scallops<input type="text" name="input3" >
<button type="submit">送信する</button>
</form>
HTML_FORM;
print "$new_messages <br>";
print "$max_messages <br>";
print "$dinner <br>";
print "This is always printed.<br>";
if ($new_messages == 10){
print "You have ten new messages.<br>";
}
if($new_messages == $max_messages) {
print "You have the maximum number of messages.<br>";
}
if($dinner == 'Braised Scallops') {
print "Yum! I love seafood.";
}
505デフォルトの名無しさん (ワッチョイ 9202-tbOq)
2022/03/31(木) 04:59:01.80ID:oh99lNSH0 オライリーの「はじめてのphp」から。
の一部のコードを参考に、フォームからの入力で条件を確認しています。
3つ目のフォームが空の場合、$dinnerはfalseになるのですが。
($dinner == 'Braised Scallops')の場合、trueになるのです。
これまで、==で比較することなかったので、その結果に違和感があるところです。
の一部のコードを参考に、フォームからの入力で条件を確認しています。
3つ目のフォームが空の場合、$dinnerはfalseになるのですが。
($dinner == 'Braised Scallops')の場合、trueになるのです。
これまで、==で比較することなかったので、その結果に違和感があるところです。
506デフォルトの名無しさん (ワッチョイ debb-rfKR)
2022/03/31(木) 06:30:54.35ID:PtLOqfk30 >>505
$dinnerはfalseじゃなくて0じゃね?
で
https://www.php.net/manual/ja/migration80.incompatible.php
8系で処理結果が変わってる
$dinnerはfalseじゃなくて0じゃね?
で
https://www.php.net/manual/ja/migration80.incompatible.php
8系で処理結果が変わってる
507デフォルトの名無しさん (ワッチョイ 9202-tbOq)
2022/03/31(木) 09:00:16.12ID:oh99lNSH0 0はfalseではないのですか、、。
調べてみます。ありがとうございます。
調べてみます。ありがとうございます。
508デフォルトの名無しさん (ワッチョイ 5ef2-5V+H)
2022/03/31(木) 09:03:42.28ID:/ZasjnC50 こんなの気にしながらコード書きたくないからstrcmp系一択だわ
509500 (ワッチョイ 9202-tbOq)
2022/03/31(木) 09:25:52.15ID:oh99lNSH0 ちなみに、phpのバージョンは7系でした。
# php -v
PHP 7.3.28 (cli) (built: Apr 27 2021 17:19:33) ( ZTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.28, Copyright (c) 1998-2018 Zend Technologies
# php -v
PHP 7.3.28 (cli) (built: Apr 27 2021 17:19:33) ( ZTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.28, Copyright (c) 1998-2018 Zend Technologies
510デフォルトの名無しさん (ワッチョイ 9202-tbOq)
2022/03/31(木) 09:32:05.79ID:oh99lNSH0 確かに 0 と false では挙動が違いますね。
すごくもやっとします。
すごくもやっとします。
511500 (ワッチョイ 9202-tbOq)
2022/03/31(木) 10:03:03.45ID:oh99lNSH0 自己解決しました。
https://so-zou.jp/web-app/tech/programming/php/grammar/operator/comparison.htm
==で比較するとき、
整数0 と 文字列'PHP' で true
整数1 と 文字列'PHP' で false
のようです。気味わるいですが、そうみたいです。
https://so-zou.jp/web-app/tech/programming/php/grammar/operator/comparison.htm
==で比較するとき、
整数0 と 文字列'PHP' で true
整数1 と 文字列'PHP' で false
のようです。気味わるいですが、そうみたいです。
512デフォルトの名無しさん (ワッチョイ debb-rfKR)
2022/03/31(木) 10:37:56.08ID:PtLOqfk30 >>511
それじゃ解決しないよ
教科書との違いは、数値形式の文字列のキャストの話
https://www.php.net/manual/ja/language.types.numeric-strings.php
あと参考にするのは適当なブログじゃなくて、公式見たほうがいい
それじゃ解決しないよ
教科書との違いは、数値形式の文字列のキャストの話
https://www.php.net/manual/ja/language.types.numeric-strings.php
あと参考にするのは適当なブログじゃなくて、公式見たほうがいい
513デフォルトの名無しさん (ワッチョイ 9202-tbOq)
2022/03/31(木) 11:19:04.53ID:oh99lNSH0 ありがとうございます。
でも、そうなのかなあ。
==の比較の場合、数値0 と false は結果が異なる。
っていうだけの話のような。。
でも、そうなのかなあ。
==の比較の場合、数値0 と false は結果が異なる。
っていうだけの話のような。。
514デフォルトの名無しさん (ワッチョイ debb-rfKR)
2022/03/31(木) 11:56:54.49ID:PtLOqfk30 君の最初の疑問は
if(0=='php')
の挙動が本と実機で異なるってことなんで、まずそこから理解するといいよ
で、この比較は
https://www.php.net/manual/ja/language.operators.comparison.php
の「さまざまな型の比較」にあるように
> 文字列やリソースを数値に変換し、算術演算を行います
この数値変換が8以降で挙動が変わったってのが回答
ちなみに参考にしたブログは 0=='php' が TRUE なので、現行のphp Active Support バージョンにおいては間違った情報を垂れ流していることになる
if(0=='php')
の挙動が本と実機で異なるってことなんで、まずそこから理解するといいよ
で、この比較は
https://www.php.net/manual/ja/language.operators.comparison.php
の「さまざまな型の比較」にあるように
> 文字列やリソースを数値に変換し、算術演算を行います
この数値変換が8以降で挙動が変わったってのが回答
ちなみに参考にしたブログは 0=='php' が TRUE なので、現行のphp Active Support バージョンにおいては間違った情報を垂れ流していることになる
515デフォルトの名無しさん (ワッチョイ debb-rfKR)
2022/03/31(木) 12:05:50.04ID:PtLOqfk30 > の挙動が本と実機で異なるってことなんで、まずそこから理解するといいよ
ん?違うのか?
単純に
if(0=='php')
が TRUE になるのが気持ち悪いってことなんかな?
それなら、8系で修正されて直感と揃ったぞってことだね
ん?違うのか?
単純に
if(0=='php')
が TRUE になるのが気持ち悪いってことなんかな?
それなら、8系で修正されて直感と揃ったぞってことだね
516496 (ワッチョイ b12c-XwpL)
2022/03/31(木) 13:27:33.73ID:3F1JJOSM0 >>496
jQuery で、ボタンをenable/disable に切り替える例
<button id="btn_1" class="btn btn-primary">
<span class="show-when-enabled">送信</span>
<span class="show-when-disabled">送信中...</span>
</button>
<button id="btn_2">送信ボタンをenable にする</button>
<style>
button .show-when-enabled { display: initial; }
button[disabled] .show-when-enabled { display: none; }
button .show-when-disabled { display: none; }
button[disabled] .show-when-disabled { display: initial; }
</style>
$( function ( ) {
$( '#btn_1' ).on( 'click', function ( event ) {
$( this ).prop( 'disabled', true ); // disable にする
} );
$( '#btn_2' ).on( 'click', function ( event ) {
$( '#btn_1' ).prop( 'disabled', false ); // enable にする
} );
} );
jQuery で、ボタンをenable/disable に切り替える例
<button id="btn_1" class="btn btn-primary">
<span class="show-when-enabled">送信</span>
<span class="show-when-disabled">送信中...</span>
</button>
<button id="btn_2">送信ボタンをenable にする</button>
<style>
button .show-when-enabled { display: initial; }
button[disabled] .show-when-enabled { display: none; }
button .show-when-disabled { display: none; }
button[disabled] .show-when-disabled { display: initial; }
</style>
$( function ( ) {
$( '#btn_1' ).on( 'click', function ( event ) {
$( this ).prop( 'disabled', true ); // disable にする
} );
$( '#btn_2' ).on( 'click', function ( event ) {
$( '#btn_1' ).prop( 'disabled', false ); // enable にする
} );
} );
517500 (ワッチョイ 9202-tbOq)
2022/03/31(木) 14:28:47.55ID:oh99lNSH0 >>515
>if(0=='php')が TRUE になるのが気持ち悪いってことなんかな?
そうです。そうです。
Javascriptだと。
if(0 == 'php'){
document.write("this is true");
}else{
document.write("this is false");
}
//"this is false"が表示されるのが普通なので。
もやっとしてましたが、ver8では改善されているのですね。
詳しい説明ありがとうございました。
>if(0=='php')が TRUE になるのが気持ち悪いってことなんかな?
そうです。そうです。
Javascriptだと。
if(0 == 'php'){
document.write("this is true");
}else{
document.write("this is false");
}
//"this is false"が表示されるのが普通なので。
もやっとしてましたが、ver8では改善されているのですね。
詳しい説明ありがとうございました。
518デフォルトの名無しさん (ワッチョイ b12c-XwpL)
2022/03/31(木) 15:05:21.39ID:3F1JJOSM0 JavaScript では、== は使わない方がよい。
常に厳密等価演算子、=== を使うべき
型違いは危険だから、TypeScript が出来た
こういうバグは、全部テストできないから厄介
常に厳密等価演算子、=== を使うべき
型違いは危険だから、TypeScript が出来た
こういうバグは、全部テストできないから厄介
519デフォルトの名無しさん (ワッチョイ 9202-tbOq)
2022/03/31(木) 16:35:59.57ID:oh99lNSH0 >>518
>JavaScript では、== は使わない方がよい。
>常に厳密等価演算子、=== を使うべき
↑
これはPHPには当てはまらないのですか?
もっともなんとなくphpでも、比較するときは===を使ってますけど。
>JavaScript では、== は使わない方がよい。
>常に厳密等価演算子、=== を使うべき
↑
これはPHPには当てはまらないのですか?
もっともなんとなくphpでも、比較するときは===を使ってますけど。
520デフォルトの名無しさん (オッペケ Sr79-LzaM)
2022/03/31(木) 19:11:06.94ID:FlN4IEP5r タイトルのみ
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
画像と画像の下にタイトル
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
画像と画像の右にタイトル
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
上記のように出力しているのですが、ul を1個ずつにする方法を教えてください、どうしてもわかりません。
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
画像と画像の下にタイトル
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
画像と画像の右にタイトル
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
上記のように出力しているのですが、ul を1個ずつにする方法を教えてください、どうしてもわかりません。
521デフォルトの名無しさん (オッペケ Sr79-LzaM)
2022/03/31(木) 19:13:16.58ID:FlN4IEP5r $block_per_page = 2; //ページあたりブロック件数
$rss_per_block = 18; //ブロックあたりRSS件数
//RSS読み込み
$rss_per_page = $block_per_page * $rss_per_block; //ページあたりRSS件数
$rss_offset = ($current_page - 1) * $rss_per_page; //RSSオフセット
$sql = 'SELECT * FROM rss_feed ORDER BY date DESC LIMIT ?,?';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(1, $rss_offset, PDO::PARAM_INT);
$stmt->bindParam(2, $rss_per_page, PDO::PARAM_INT);
$stmt->execute();
$rss_items = $stmt->fetchAll(PDO::FETCH_OBJ);
//RSS表示
for ($i = 0; $i < $block_per_page; ++$i) {
for ($j = 0; $j < $rss_per_block; ++$j) {
$item_index = $i * $rss_per_block + $j;
if ($item_index >= count($rss_items)) {
break;}
$item = $rss_items[$item_index];
$title = "<a href=\"{$item->link}\">{$item->title}</a>";
if (empty($item->img)) {
$img = 'wp-content/uploads/2021/12/EXt1cESWAAAwdOY.jpg';
} else {
$img = $item->img;}
$image = "<a href=\"{$item->link}\"><img src=\"{$img}\" width=\"100\"></a>";
if ($j >= 0 && $j <= 4) {
echo "<li class=\"sitelink\">{$title}</li>"; // タイトルのみ
} elseif ($j >= 5 && $j <= 8) {
echo "<li class=\"sitelink2\">{$image}<br>{$title}</li>"; // 画像と画像の下にタイトル
} elseif ($j >= 9 && $j <= 12) {
echo "<li class=\"sitelink3\">{$image}{$title}</li>"; // 画像と画像の右にタイトル
}}
$rss_per_block = 18; //ブロックあたりRSS件数
//RSS読み込み
$rss_per_page = $block_per_page * $rss_per_block; //ページあたりRSS件数
$rss_offset = ($current_page - 1) * $rss_per_page; //RSSオフセット
$sql = 'SELECT * FROM rss_feed ORDER BY date DESC LIMIT ?,?';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(1, $rss_offset, PDO::PARAM_INT);
$stmt->bindParam(2, $rss_per_page, PDO::PARAM_INT);
$stmt->execute();
$rss_items = $stmt->fetchAll(PDO::FETCH_OBJ);
//RSS表示
for ($i = 0; $i < $block_per_page; ++$i) {
for ($j = 0; $j < $rss_per_block; ++$j) {
$item_index = $i * $rss_per_block + $j;
if ($item_index >= count($rss_items)) {
break;}
$item = $rss_items[$item_index];
$title = "<a href=\"{$item->link}\">{$item->title}</a>";
if (empty($item->img)) {
$img = 'wp-content/uploads/2021/12/EXt1cESWAAAwdOY.jpg';
} else {
$img = $item->img;}
$image = "<a href=\"{$item->link}\"><img src=\"{$img}\" width=\"100\"></a>";
if ($j >= 0 && $j <= 4) {
echo "<li class=\"sitelink\">{$title}</li>"; // タイトルのみ
} elseif ($j >= 5 && $j <= 8) {
echo "<li class=\"sitelink2\">{$image}<br>{$title}</li>"; // 画像と画像の下にタイトル
} elseif ($j >= 9 && $j <= 12) {
echo "<li class=\"sitelink3\">{$image}{$title}</li>"; // 画像と画像の右にタイトル
}}
522デフォルトの名無しさん (スップ Sd12-KRpU)
2022/03/31(木) 21:19:45.99ID:pB1E+d/ld PHP8からの「文字列と数値の比較」は、この公式ページがわかりやすい
https://www.php.net/manual/ja/migration80.incompatible.php
(厳密でないやり方で)数値と非数値文字列を比較する場合、 数値を文字列にキャストし、文字列と比較するようになりました。
数値と数値形式の文字列の比較は、以前と同じ振る舞いをします。
注意すべきなのは、これによって、 0 == "not-a-number" が false と見なされるようになったことです。
https://www.php.net/manual/ja/migration80.incompatible.php
(厳密でないやり方で)数値と非数値文字列を比較する場合、 数値を文字列にキャストし、文字列と比較するようになりました。
数値と数値形式の文字列の比較は、以前と同じ振る舞いをします。
注意すべきなのは、これによって、 0 == "not-a-number" が false と見なされるようになったことです。
523デフォルトの名無しさん (スップ Sd12-KRpU)
2022/03/31(木) 21:32:14.98ID:pB1E+d/ld つまり、PHP7では、
(厳密でないやり方で)数値と非数値文字列を比較する場合、文字列を数値にキャストし、数値と比較していた。
これによって、 0 == "not-a-number" が ture と見なされていた。
0 == "not-a-number"
この式は、次のようにキャストされて比較される
PHP7・・・0 == 0・・・true
PHP8・・・"0" == "not-a-number" ・・・false
(厳密でないやり方で)数値と非数値文字列を比較する場合、文字列を数値にキャストし、数値と比較していた。
これによって、 0 == "not-a-number" が ture と見なされていた。
0 == "not-a-number"
この式は、次のようにキャストされて比較される
PHP7・・・0 == 0・・・true
PHP8・・・"0" == "not-a-number" ・・・false
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- 🏡
- 今季最強寒気襲来!!!!
- 【高市早苗】習近平激怒か [115996789]
- 橋下徹「口だけ番長の日本が中国に喧嘩負け。なんとカッコ悪い日本か!」高市にバチーン!✴ [153490809]
- 今猛烈に食べたいもの挙げてけwwwwwwww
