Note to Self

自分用のメモ置き場

MySQLで数値項目に小数点以下の値があるレコードのみを抽出する

数値項目に小数点以下の値があるレコードのみを抽出する

以下の例のpercentageは数値項目。(float型)
percentage % 1 にて、amountを 1 で割った剰余を求める。
条件に [ > 0 ] とすることで小数点以下の値があるレコードのみを抽出できる。

SELECT * FROM country_language WHERE percentage % 1 > 0 ;

連想配列の要素の値が最大になるキーを取得する

連想配列の要素の値が最大になるキーを取得する

max() は配列の中で最も大きい数値を返す

<?php
  $fruits = [
    'apple' => 1,
    'banana' => 4,
    'cherry' => 10,
    'grape' => 13,
    'orange ' => 2,
  ];
  
  $maxs = array_keys($fruits, max($fruits));
  
  var_dump(max($fruits));
  var_dump($maxs);
  
  /*
    実行結果
  
  int(13)
  array(1) {
    [0]=>
    string(5) "grape"
  }
  */
?>

Gitで別ブランチから特定のファイルを取得する方法

インデックスに登録された状態になる

特定のファイルを取得する

git checkout <取り込み元ブランチ> -- <取り込むファイル名>


特定のディレクトリを取得する

git checkout <取り込み元ブランチ> <取り込むディレクトリ名>

phpcs & phpcbf についてのメモ

phpcs & phpcbf について

ソースコードGitHubで公開されている


Visual Studio Codeで使用する場合

パッケージをインストール
phpcs
phpcbf

settings.json に以下の設定を追記

"phpcs.standard": "/Users/XXXX/phpcs.xml",
"phpcs.executablePath": "/Users/XXXX/.composer/vendor/bin/phpcs",
"phpcbf.standard": "/Users/XXXX/phpcs.xml",
"phpcbf.executablePath": "/Users/XXXX/.composer/vendor/bin/phpcbf",


phpcs.xml

<?xml version="1.0"?>
<ruleset name="Laravel Standard">

    <!-- 対象フォルダ -->
    <file>../app/</file>
    <file>../config/</file>
    <file>../database/</file>
    <file>../resources/</file>
    <file>../routes/</file>
    <file>../tests/</file>

    <!-- 除外したいファイル、ディレクトリ -->
    <exclude-pattern>*/*.js</exclude-pattern>
    <exclude-pattern>*/*.css</exclude-pattern>
    <exclude-pattern>*/*.xml</exclude-pattern>
    <exclude-pattern>*/*.blade.php</exclude-pattern>
    <exclude-pattern>*/node_modules/</exclude-pattern>
    <exclude-pattern>*/bootstrap/</exclude-pattern>
    <exclude-pattern>*/storage/</exclude-pattern>
    <exclude-pattern>*/vendor/</exclude-pattern>

    <rule ref="PSR2">
        <exclude name="Generic.Files.LineLength"/>
        <exclude name="PSR1.Classes.ClassDeclaration"/>
    </rule>
    <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace">
        <properties>
            <property name="ignoreBlankLines" value="true" />
        </properties>
    </rule>
    <rule ref="Squiz.WhiteSpace.OperatorSpacing">
        <properties>
            <property name="ignoreNewlines" value="true" />
        </properties>
    </rule>
    <rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing">
        <properties>
            <property name="equalsSpacing" value="1" />
        </properties>
    </rule>
    <rule ref="Squiz.WhiteSpace.SemicolonSpacing.Incorrect"/>
    <rule ref="Squiz.WhiteSpace.FunctionOpeningBraceSpace.SpacingAfter"/>
    <rule ref="Generic.Arrays.DisallowLongArraySyntax.Found"/>
    <rule ref="Generic.Formatting.NoSpaceAfterCast.SpaceFound"/>
    <rule ref="PEAR.WhiteSpace.ObjectOperatorIndent"/>
</ruleset>