タグ

関数とphpに関するakira1908jpのブックマーク (18)

  • 【PHP】文字列検索には str_contains() を使え - RAKUS Developers Blog | ラクス エンジニアブログ

    PHP で「文字列に特定のキーワードが含まれているか」や「文字列中に特定の文字列を含むか」を確認したい場合、どのようなコードを書くだろうか? もし、あなたが strpos()やstrstr()を使う方法を思いついたのなら、これだけは覚えて帰ってほしい。 文字列検索には str_contains() を使え。 結論:文字列検索には str_contains() を使う サンプル 昔はstrpos()やstrstr()などを使っていた strpos() や strstr() ではダメなのか? strpos() を使うべきでない理由 strstr() を使うべきでない理由 preg_match()を使うべきでない理由 「いや、キーワードが先頭にあるかを知りたいんだ」という人は 「日語でも使えるの?」との疑問について もっと詳しく? これでわかっただろう 結論:文字列検索には str_conta

    【PHP】文字列検索には str_contains() を使え - RAKUS Developers Blog | ラクス エンジニアブログ
    akira1908jp
    akira1908jp 2023/07/03
    “str_contains()を使え”
  • PHP入門ガイド:組込関数詳細解説|Yuu's Memo

    PHPは、広く使われるプログラミング言語の一つであり、色々な関数を提供しています。この記事では、PHPの文関数について実践例を交えて詳しく解説し、実践的なテクニックとともに紹介します。PHPの特に配列操作や文字列操作をマスターすることは、Web開発を行なっていくのに必須の知識となります。 また、メモリの最適化や高速化方法など入門者だけでなく、実際に開発でPHPを使用している方にも役に立つ情報を書いていきたいと思います。 文字列操作関数の詳細解説 – 実践的なテクニックを解説 文字列はPHPが扱うデータ型の一つ 文字列型(string) であり、文字が連結されたものです。PHPにおいて文字列の最大長は2GB(2,147,483,647 byte)です。 PHPでは文字列を指定する方法が4種類あります。文字列リテラル(文字列の値そのもの)を、「’ (シングルクォート)」「” (ダブルクォート)

    PHP入門ガイド:組込関数詳細解説|Yuu's Memo
  • 【PHP8.0】PHPでアトリビュート/アノテーション/デコレータが書けるようになる - Qiita

    Attributes v2というRFCが投票中です。 投票期間は2020/05/04まで、投票者の2/3の賛成で受理されます。 2020/04/27時点では賛成48反対1で、ほぼ間違いなく可決されます。 Attributes v2 Introduction このRFCは、クラス/プロパティ/関数/メソッド/引数/定数の宣言に、構造化されたアトリビュートをメタデータとして記述できるようにする提案です。 アトリビュートは、コードの宣言に直接設定ディレクティブを埋め込むことで定義されます。 同じような概念としてJavaのAnnotation、C#/C++/Rust/HackにおけるAttribute、Python/JavascriptにおけるDecoratorが存在します。 これまで、PHPではこのようなメタデータとしては非構造的であるdoc-commentsしか存在しませんでした。 しかしdo

    【PHP8.0】PHPでアトリビュート/アノテーション/デコレータが書けるようになる - Qiita
  • PHP7.4の変更点

    このエントリーは、GMOアドマーケティング Advent Calendar 2018 の 【12/2】 の記事です。GMOアドマーケティングとしては初のAdvent Calendar参戦です。はじめにこんにちは。18年新卒で入社いたしました、GMOアドマーケティングのK.Kです。新卒研修を終え、現在はゴリゴリ業務に取り組んでいます。今回の記事では、弊社のプロジェクトGMOSSPのPHPのバージョンを、PHP7.0からPHP 7.2にバージョンアップしましたので、バージョンアップの際の対応内容に関してご紹介させていただきます。(引用元|https://secure.php.net/download-logo... (引用元|https://secure.php.net/download-logos.php) 目次 PHP7.4に関して 新機能 2-1. 型付きプロパティ 2-2. アロー関数

    PHP7.4の変更点
  • PHPDocを使ったPHPのジェネリクス - 超PHPerになろう

    この記事はPHPStan開発者のOndřej Mirtesによって2019年12月2日に書かれた記事を翻訳したものです。記事の末尾には訳者(@tadsan)の観点によるPhan, Psalm, PhpStormとの互換性についての情報も記述しています。 medium.com 2年前、私(Ondřej Mirtes)はユニオン型と交差型についての衝撃的な記事を書きました。PHPコミュニティがこれらの概念に馴染むのを手助けし、PhpStormでの交差型サポートにつながりました。 ユニオン型と交差型の違いは開発者が認識すべき静的解析に役立つ重要な概念なので、私はその記事を書きました。今回は同様に、PHPStan 0.12で導入されたジェネリクスについて、それが何であるかを説明したいと思います。 無限のシグネチャ 関数宣言するとき、我々は関数に付属する単一のシグネチャを書いていました。ほかの選択肢

    PHPDocを使ったPHPのジェネリクス - 超PHPerになろう
  • PHP 7.4の新機能(推奨されなくなるもの、機能、スピード)

    PHP 7.4の新機能(推奨されなくなるもの、機能、スピード) PHP 7の次のマイナーリリースであるPHP 7.4は、2019年11月28日にリリースされました。そこで今日は、PHPをより速くより信頼性の高いものにした最もエキサイティングな新しい機能についてご説明します。 最新情報)現在、PHP 8.1(正式リリース)がすべてのプランでサポートされており、PHP 7.4のサポートは終了しています。KinstaがサポートするPHPバージョンは、8.0, 8.1, 8.2 , 8.3です。 PHP 7.4がパフォーマンスとコードの読みやすさを大幅に向上させたとしても、JITの追加の提案はすでに承認されているため、PHPのパフォーマンスにとって重要なマイルストーンとなるのは明らかにPHP 8です。 とにかく、今日はPHP 7.4に期待している最も興味深い機能と変更点のいくつかをご紹介します。ち

    PHP 7.4の新機能(推奨されなくなるもの、機能、スピード)
  • 【PHP8.0】PHPでunion型が使えるようになる - Qiita

    Union Types 2.0というRFCが投票中です。 提案者はまたまたのNikita。 2019/10/25開始、2019/11/08終了で、受理には2/3+1の賛成が必要です。 2019/11/04時点で賛成55反対5であり、ほぼ導入確定です。 PHPのunion型って何かというと、TypeScriptのunion型とだいたい同じです。 int|string $aと書いたら$aはint型もしくはstring型ですよ、ということです。 ちなみに別途RFCをGitHubで管理しようという実験が進行中で、このRFCの詳細はGitHub上に存在します。 このRFCはまだNikitaの個人GitHub上にしかないのですが、決まりになったらPHP公式に移動になると思います。 まあGitHubのほうが管理とか更新とか楽ですからね。 ただGitHubはURLがすぐ404になるのだけはどうにかしてほ

    【PHP8.0】PHPでunion型が使えるようになる - Qiita
  • PHP7.4の新機能その2 - Qiita

    PHP7.4 / PHP7.4その1 / PHP7.4その2 2019/06/13、PHP7.4.0α1がリリースされました。 今後はベータ、RCと完成度を高めていき、7.4.0のリリースは2019/11/28が予定されています。 なお仕様フィックスは2019/07/13で、それ以降は大きな変更は入らないようになります。 逆に言うとそれまでは追加が入る可能性はあるのですが、既にα1も出たことですし、さすがにこれからのタイミングでプロパティ型指定やらアロー関数レベルの大改修が入ることはないでしょう。 ということで前回以降入った新機能や変更点を見てみることにします。 RFC Arrow functions 2.0 賛成51、反対8で受理。 アロー関数です。 // 新構文 $fn = fn($x) => $x + $y; // ↓と同じ $fn = function ($x) use ($y)

    PHP7.4の新機能その2 - Qiita
  • PHP新機能まとめ(v7.1~v7.3) - RAKUS Developers Blog | ラクス エンジニアブログ

    こんにちは。 新卒1年目のbadaikiです。 はじめに まもなく入社して1年、配属されて9カ月、PHP歴9カ月になります。PHPの記法にもつまることなくコーディングできるようになったので、そろそろステップアップを目指していきます。 そこで今回は v7.1 ~ v7.3 で追加された新機能の一部を紹介し、今後に活かしていきます。 はじめに 公式サポート期限 新機能 v7.1 nullableな型 void関数 対称的な配列の分解 クラス定数のアクセス範囲指定 v7.2 object型 抽象メソッドのオーバーライド v7.3 フレキシブルな HereDoc 構文と NowDoc 構文 array_key_first(), array_key_last() おわりに 公式サポート期限 昨年 2018年12月 をもって v5.6 が EOL (End Of Life) を迎えました。 バージョン

    PHP新機能まとめ(v7.1~v7.3) - RAKUS Developers Blog | ラクス エンジニアブログ
  • PHPのエラーハンドリングとロギング - FRTKL

    目次 目次 エラー表示/非表示 PHPのエラー エラー表示/非表示の設定 コード上で設定 httpd.confや.htaccessで設定 php.iniで設定 エラーレベル エラーレベルの分類 エラー出力レベルの設定 コード上で設定 httpd.confや.htaccessで設定 php.iniで設定 よくあるエラー出力レベルの設定 E_NOTICE(注意メッセージ)以外の全てのエラーを表示する。 E_NOTICE(注意メッセージ)とE_DEPRECATED(推奨エラー)は表示しない。 エラーハンドリング PHP5のFatal Errorの不便な点とPHP7での進化 参考 ロギング エラー表示/非表示 PHPのエラー PHPのエラーはそのまま画面に出る。たまにPHPアプリケーションで「白い画面」になることがあるが、これは「エラーが発生して処理が終了しているがエラーが非表示設定なので何も出て

    PHPのエラーハンドリングとロギング - FRTKL
  • PHPを5.6から7.2にする際に苦労した点やハマった点、嬉しかった点 - WebエンジニアのLoL日記

    はじめに php7ccで検出されない問題とは ハマった点1: count関数の挙動変更 ハマった点2: $array[] で値を追加しようとして壊れる 苦労した点: mysql関数の置き換え 苦労した点2: PHPUnitのバージョンも上げないといけない 逆に嬉しかった点: 型アノテーションの強化 まとめ はじめに この記事は PHPアドベントカレンダー 6日目の記事です。 皆さん、PHP 5.6のセキュリティサポートは2018年12月いっぱいで終了です。つまり、このアドベントカレンダーのカウントダウンがPHP 5.6終了へのカウントダウンなわけです。 PHP5.6からPHP7系に移行しようとしている皆さんはきっとphp7ccを使ってコードのチェックをしているかと思いますが、php7ccでは検出されず、実際に動かしてみないと気づかない問題もあります。 今回はそういったハマった点や苦労した点

    PHPを5.6から7.2にする際に苦労した点やハマった点、嬉しかった点 - WebエンジニアのLoL日記
  • PHPでCSV読み込み関数の決定版を作ってみた。 - ノウハウブログ - カンタローCGI

    要件 PHPCSVを読み込む方法はネット上でたくさん見つかりますが、文字コードの変換のために一旦別ファイルに保存したり、読み込んだデータにアクセスしにくかったりで、何度書いてもなんとなくスッキリしてませんでした。もっといい方法があるんじゃないかなーって。 で、今回満足のいくCSVローダーが書けたので、ご紹介します。 要件は以下の通り。 CSVデータ中に " や改行が入っている場合にも正しく対応したい。 変数に読み込まれたデータは文字コードUTF-8にすること。 文字コードの変換の際に一時ファイルを作らないで済むようにしたい。 各レコードの列にアクセスするのに、カラム列番号じゃなくてCSV1行目のヘッダ文字列をキーにしたい。 数万行くらいのデータならさくっと読み込んで欲しい。 PHP5.3でも動かしたい。 CSV読み込みPHP関数 ということで、PHPフィルタ(php://filter)

    PHPでCSV読み込み関数の決定版を作ってみた。 - ノウハウブログ - カンタローCGI
  • 【PHP】条件分岐で困った時に使えそうな関数をピックアップしてみたよ!

    PHPの勉強を始めたばかりの頃、条件分岐が良く分かりませんでした。今思えば、if文が何かわかっていないというより、if文で何を判断させて良いのか分からなかったような気がします。そんな条件分岐で困った時の為にすぐに使えそうな関数をピックアップしてみました。 値の有無 empty() 値が空かどうかを調べる関数です。こっちから覚えたので今でも使える時は大体迷わずこれを使いますが、変数に0や空文字がセットされている場合も値無しと判断されます。 isset() こちらは変数に値がセットされているかどうかを調べる関数です。空文字や0が変数にセットされている場合は値有りと判断されます strlen() こちらは変数にセットされた値の長さを調べる関数です 試しに動かしてみてください。入力に文字を入れて実行を押せば実行できます。 文字列一致 str_pos() こいつはややこしい関数で、これを覚えるならp

    akira1908jp
    akira1908jp 2015/06/04
    そろそろPHPだけじゃなくて、バージョンを明記しないと7で使うときに混乱をきたす
  • htmlspecialchars関数が長いので便利な関数を作った - Qiita

    XSS攻撃を防ぐためにhtmlspecialcharsを使うことが多いと思いますが、関数名が長く、しかも安全に使うにはオプションを指定しなければならない場合が多く、面倒です。

    htmlspecialchars関数が長いので便利な関数を作った - Qiita
    akira1908jp
    akira1908jp 2015/04/03
    投稿日を5回ぐらい見直した
  • websec-room.com - websec room リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • PHPのarray_columnが便利 - Qiita

    PHP5.5で入ったarray_column()がとても便利だと言うことを@edvakf@githubに教えてもらった。 DBから取得したデータとか下のような形式になってることがよくある。 <?php $rows = [ 0 => [ 'id' => 40, 'title' => 'dave', 'comment' => 'Hello, world!'], 1 => [ 'id' => 10, 'title' => 'alice', 'comment' => '你好,世界!'], 2 => [ 'id' => 30, 'title' => 'charlie', 'comment' => 'こんにちは、世界!' ], 3 => [ 'id' => 20, 'title' => 'bob', 'comment' => 'Salve , per omnia saecula !' ], ]; こう

    PHPのarray_columnが便利 - Qiita
  • password_hash()の重要な制限

    (Last Updated On: 2019年2月25日)password_hash関数はcrypt関数のラッパーです。パスワードを簡単かつ安全にハッシュ化するための関数です。現在のPHPマニュアルにはpassword_hash関数の重要な制限が未記載であったため追加しました。 password_hash関数はcrypt関数のラッパー password_hash関数は string password_hash ( string $password , integer $algo [, array $options ] ) の書式を持ち、$algoにはDEFAULTまたはPASSWORD_BCRYPTが指定できます。現時点ではPASSWORD_BCRYPTしか指定できないのでどちらを指定しても同じです。DEFAULTを利用することにより、将来より強固なハッシュ関数が追加された場合に自動的な更

    password_hash()の重要な制限
  • PHP 5.3: 参照渡しの関数/メソッドを定義してた人は call_user_func_array に注意 - 肉とビールとパンケーキ by @sotarok

    *1 あーっと.はじめにいっておくと,すべてのマニュアルをちゃんと読んでいて関数の使い方を間違っていなかった人には関係ない話です. が,意外とハマるんじゃないかと思うのでメモ. どういう問題が発生したか <?php function hoge(&$hoge) { var_dump($hoge); } $a = 1; hoge($a); call_user_func_array('hoge', array($a)); このコード,どういう実行結果が期待されるかというと, int(1) int(1)です. call_user_func_array の第二引数は,関数に渡したい値を配列で指定するものなので,これでOK.PHP 5.2 では,上記の結果が得られます. ところが,PHP 5.3 では,以下のエラーが出ます. int(1) Warning: Parameter 1 to hoge()

    PHP 5.3: 参照渡しの関数/メソッドを定義してた人は call_user_func_array に注意 - 肉とビールとパンケーキ by @sotarok
  • 1