- 1. 【PHP8.1】あなたはどっち? array_merge VS unpacking(スプレッド演算子)
- 2. Python,Ruby,PHP,Java,JavaScript,Perlのコマンドライン引数の比較
- 3. Laravel Lighthouseでエラー処理を試してみる
- 4. 【 #ゆめみからの挑戦状 ★第5弾】に挑戦 78バイト
- 5. [0,1,1,1,0,0,0,1,1,0,0,1,0,1,0]を作る旅
- 6. 【計算結果が正しくない!?】案外知らない、計算誤差の話
- 7. Illuminate\View\ViewExceptionのエラーが発生して画面遷移ができなくなる問題
- 8. Laravelによるページネーションの書き方
- 9. Python,Ruby,PHP,Java,JavaScript,Perlのfor文の比較
- 10. Trelloに日付リストを自動で生成する【Trello API】
- 11. なに? チェックボックスオフでも確実にPOSTする方法があるやと?
- 12. 【PHP】ひらがな化APIを使ってみた
- 13. tsunagi-functionsでSymbolブロックチェーンのトランザクションを自由自在に作ろう!(PHP編)
- 14. Laravel 8 へアップグレードしてからシーダーを使う際の変更
- 15. 【個人開発】旅のしおりを作って仲間とシェアできるサイトを制作しました
- 16. Python,Ruby,PHP,Java,JavaScript,Perlのwhile文の比較
- 17. 使用中のLaravelのバージョンを確認するコマンド
- 18. LaravelのJetstreamで新規ユーザ登録時のデフォルトチームを指定する
- 19. 標準関数で配列操作
- 20. 【PHP】PHPの高度な配列操作
【PHP8.1】あなたはどっち? array_merge VS unpacking(スプレッド演算子)
PHP8.1がリリースされてそろそろ1年。PHP8.1のRelease Announcementを今更じっくりと眺めていたところ、見逃していた変更点を発見。
**Array unpacking support for string-keyed arrays**
[https://www.php.net/releases/8.1/en.php](https://www.php.net/releases/8.1/en.php#array_unpacking_support_for_string_keyed_arrays)配列アンパックが連想配列をサポートするようになった、とのこと。
配列アンパックとは、一般的にいう『スプレッド演算子』『スプレッド構文』のことです。“`php:アンパック例
$x = [‘a’ => 1, ‘b’ => 2];
$y = [‘c’ => 3, ‘d’ => 4];
$result = […$x, …$y];
// [‘a’ => 1, ‘b’ => 2, ‘c’ => 3, ‘d’ => 4]
“`これによって、array_merge
Python,Ruby,PHP,Java,JavaScript,Perlのコマンドライン引数の比較
Python,Ruby,PHP,Java,JavaScript,Perlのコマンドライン引数の比較
# Python
https://qiita.com/taashi/items/07bf75201a074e208ae5
# Ruby
https://qiita.com/shiGira/items/44586bdc48c06e00d99f
# PHP
https://qiita.com/aic0o/items/91ca1ddc1fc6e025286f
# Java
https://qiita.com/takahirocook/items/ece64146015f702d0a83
# JavaScript
https://qiita.com/furusin_oriver/items/f030d1eaa9e7b54233c3
# Perl
https://perlzemi.com/
Laravel Lighthouseでエラー処理を試してみる
## Version
* php 8.0
* laravel 8.4
* lighthouse 5.1## やりたいこと
GraphQLの認可にJWTを使用しており、JWTがない場合(期限切れなど)に認可が失敗した!!と分かりやすくしたい。そしてどこかのページにredirectさせたい。## デフォルトのエラー
“`
{
“errors”: [
{
“message”: “Unauthenticated.”,
“extenstions”: {
…
“`
ここでの`”message”: “Unauthenticated.”`は`vendor/nuwave/lighthouse/src/Exceptions/AuthenticationException.php`にありました。## エラーハンドラーを作成
LighthouseのError Handlingの公式[Docment](https://lighthouse-php.com/master/digging-deeper/error-handling.html
【 #ゆめみからの挑戦状 ★第5弾】に挑戦 78バイト
最近は地球を防衛しつつ戦うために生きつつ床を塗り潰しつつアイドルをプロデュースするのにとても忙しい。
【 #ゆめみからの挑戦状 ★第5弾】
シリーズ初の PHP 問題です?✨【お題】
以下のぐちゃぐちゃな配列を期待されている形に整形して出力してください【回答方法】https://t.co/rZguz6aKJX またはソースコードのスクリーンショットを引用 RT
【結果発表】
9/15(木)【出題者】
まっぴー @mpyw pic.twitter.com/GSpE5Tekmp— 株式会社ゆめみ | YUMEMI (@yumemiinc) September 8, 2022
PHPだったので挑戦してみることにします。
# 問題
入力`$in`を、出力`$out`に変換します。
“`php
// 入力
$in = [
[‘2nd’ => ‘two’, ‘four’ => ‘4th’],
‘three’ => ‘3rd’,
[‘one’ => ‘1st’],
’10th’ => ‘ten’,
[‘6th’ => ‘six’],
‘5th’ => ‘five’,
‘seven’ => ‘7th’,
[‘fourteen’ => ’14th’, ’11th’ => ‘eleven’],
[‘8th’ => ‘eight’],
‘thirteen’ => ’13th’,
’12th’ => ‘twelve’,
‘nine’ => ‘9th’,
[0,1,1,1,0,0,0,1,1,0,0,1,0,1,0]を作る旅
プログラミングをやっていると、適当な順に並んだ整数をループで作り出したくなる瞬間が度々あると思います。
そんな時にはまず [The On-Line Encyclopedia of Integer Sequences® (OEIS®)](http://oeis.org/) あたりを調査するのが定石だと思いますが、つい先日、面白い仕掛けを使っている tweet を発見しました。
これぐらいしか遊びが思いつかなかった https://t.co/M0OO1ySUsf pic.twitter.com/bwrZOWaaUk
— ぶーやー (@tyabu12) 【計算結果が正しくない!?】案外知らない、計算誤差の話
# はじめまして
63歳ですが、プログラム書いてます。
30年以上昔に知った話を、最近、また耳にしましたので、ちょっとご紹介させていただきます。# 実数計算が正しいか、9種類の言語で試しました。
今回試したのは、linux 標準の bc(計算機)、PHP、python3、ruby、perl、node.js、C++、go、fortran95 の9つの言語です。
C++ のコンパイルは “`gcc ru88.c -lm -o ru88.out“`、“`gcc ru88-boost.cpp -lstdc++ -o ru88-boost.out“`、
fortran95 のコンパイルは “`gfortran -O3 -o ru88.exe ru88.f95“`、
“`gfortran -O3 fmsave.o fm.o fmzm90.o fm_interval.o fm_doubleint.o fm_quadint.o fm_quadreal.o fm_rational.o -o ru88-FM.exe ru88-FM.f95“`、
go は “`go run ru88.Illuminate\View\ViewExceptionのエラーが発生して画面遷移ができなくなる問題
# はじめに
laravelのバージョンを5.8から6.xにアップデートした後、なぜか画面遷移ができなくなりました。
その原因がなかなかわからず手こずったので、メモを残しておきます。## 環境
ubuntu 18.04
php 7.4.29“`composer.json
{
“require”: {
“php”: “^7.4.29”,
“bensampo/laravel-enum”: “^1.23”,
“fideloper/proxy”: “^4.0”,
“google/apiclient”: “^2.0”,
“guzzlehttp/guzzle”: “^6.3”,
“intervention/image”: “^2.5”,
“laravel/framework”: “^6.0”,
“laravel/tinker”: “^1.0”,
“laravelcollective/html”: “^6.0”,
“ph
Laravelによるページネーションの書き方
# ページネーション(pagination)とは
– 検索結果やデータベースの一覧画面などを適度な長さで分割して表示する仕組み
– 次の画像のように各ページへのリンクを並べることでアクセスしやすくなります
– 10件ずつ表示する、50件ずつ表示するなど、表示数をカスタマイズできます見本:Google検索結果より
![スクリーンショット 2022-09-12 7.56.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2765288/07b5f2c5-eea9-ced2-7897-4fed90bb0680.png)## 環境について
データベース内に`user`というテーブルが存在する仮定で以下の手順は進みます## 作成方法
### データベースのテーブル情報を取得するモデルを作成します
“`php3
namespace App;use Illuminate\Database\Eloquent\Model;
class User extends Model
{
Python,Ruby,PHP,Java,JavaScript,Perlのfor文の比較
Python,Ruby,PHP,Java,JavaScript,Perlのfor文の比較
# Python
https://qiita.com/Morio/items/e8aed85346c0055beea7
# Ruby
https://qiita.com/Morio/items/3ac5cac9ace7e9ddbdb4
# PHP
https://qiita.com/miriwo/items/d1b5d5ece4f16c7b5985
# Java
https://qiita.com/Co_Pilot/items/7c59410cd90be4cf06d8
# JavaScript
https://qiita.com/w-tdon/items/f3ecb29dc9350f2f2e8d
# Perl
https://perlzemi.com/blog/20080327120662
Trelloに日付リストを自動で生成する【Trello API】
# ✏️ 概要
Trelloをカレンダーレイアウトにしたら 日付リストの生成を自動化したくなってしまったので、
今回はPHPを用いてTrelloのAPIを叩いてリストを自動生成してみます。こんな感じでスクリプトを叩くと自動でTrelloのボード上にリストが生成されます ?
![Sep-01-2022 19-37-55.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468787/c904943b-c470-8ade-70f3-3af4c10dbc60.gif)
# ? 準備をする
### 開発者向けAPIキーの取得
まずは以下のURLにアクセスして**開発者向けAPIキー**を取得します
[? 開発者向けAPIキー取得ページ](https://trello.com/1/appKey/generate)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468787/97e58655-bf46-a
なに? チェックボックスオフでも確実にPOSTする方法があるやと?
## ある日の業務中
ぐっちー
「checkboxってオフの時postされんからオフの処理いちいち書くのめんどくさいな~」
先輩
「それならええ方法があるがな」
ぐっちー
「ほんまですか? 教えてください!」
先輩先輩
「1回しか言わんから永久保存版な」
ぐっちー
「了解です!」
## 一般的な書き方
“`index.html
“`“`index.php
$in = $_POST//初期化
$hoge = 0;
if(isset($in[‘hoge’])){
$hoge = intval($in[‘hoge’]);
}else{
$in[‘hoge’] = $hoge;
}$list = array();
$list = search_list($in);
【PHP】ひらがな化APIを使ってみた
# 初めに
Excelにて漢字にふりがなをつけようとしたが、CSVをインポートしたデータやWEBページからコピペしたテキストには自動でふりがなが付かないことがわかった。そのため、代替手段として[gooラボ](https://labs.goo.ne.jp/)の[ひらがな化API ](https://labs.goo.ne.jp/api/jp/hiragana-translation/)を使用することにした。>[リファレンス](https://labs.goo.ne.jp/api/jp/hiragana-translation/)より引用
>ひらがな化APIはリクエストで送られた日本語文字列を、ひらがな もしくは カタカナ による記載に変換します。## 環境
– Mac OS12.4(M1)
– PHP 8.1.2## パラメータ
* app_id(必須項目) => 利用登録をし、取得する
* request_id => リクエストID、省略可
* sentence(必須項目) => 解析対象テキスト
* output_type (必須項目) =>hiragana(ひらがな化
tsunagi-functionsでSymbolブロックチェーンのトランザクションを自由自在に作ろう!(PHP編)
この記事は、以下に紹介したtsunagi-functionsのPHP実装版です。
https://qiita.com/nem_takanobu/items/4b5d67fe9eb80ae35433
トランザクション構築の内部処理やノードへの通知方法については以下の記事もご参考ください。
https://qiita.com/nem_takanobu/items/d69f86487fce527dbc29
Symbolブロックチェーンをよく知らないという方はこちらで速習することができます。
https://github.com/xembook/quick_learning_symbol
# テスト
テストスクリプトを以下に置いています。実行することができればそのロジックをそのまま実装に利用することができます。
#### test_0_1.php
https://github.com/xembook/tsunagi-sdk/blob/main/php/test_0_1.php
“`json:composer.json
{
“require”: {
Laravel 8 へアップグレードしてからシーダーを使う際の変更
## はじめに
Laravel 6から8へアップグレードした際にアップグレード自体は問題なくできたのですが、
シーダーの実行につまずいたので残しておきます。## 事象
シーダーを実行すると以下のようなエラーが出ました。
“`
$ php artisan db:seed
“`
“`
Illuminate\Contracts\Container\BindingResolutionExceptionTarget class [DatabaseSeeder] does not exist.
“`# 変更箇所
Laravel 8へアップグレードした後にシーダーを使うための変更箇所をまとめます。### 1. composer.jsonの変更
変更前
“`json:composer.json
“autoload”: {
“psr-4”: {
“App\\”: “app/”,
},
“classmap”: [
“database/seeds”,
【個人開発】旅のしおりを作って仲間とシェアできるサイトを制作しました
LAMP開発の学習のため、WEB上で旅のしおりページを作れるサービスを制作しました。
# どんなサービスか
サイトはこちら → http://oshitabinote.com/main.php
![thumbnail.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1974587/bd688229-9f76-9baa-11c3-96a7e324a38d.png)
* WEB上に旅のしおりページが作成でき、ページ内では旅程と参加メンバーのプロフィールが自由に登録・編集・表示ができます
* 旅ごとにユニークなURLが発行され、リンクを知っていれば誰でもアクセスができるので、仲間と気軽にページのシェアができます
* 一般的な旅行+オタクの方々の遠征に使ってもらいたいので、ちょっとしたオタ活特化要素があります# 開発リポジトリ
https://github.com/emuroku/oshitabi_note# 制作目的
* これまで学習したフロント・バックエンドの実装やLAMP環境開発の実践練習をするこ
Python,Ruby,PHP,Java,JavaScript,Perlのwhile文の比較
Python,Ruby,PHP,Java,JavaScript,Perlのwhile文の比較
# Python
https://qiita.com/Morio/items/10d33f6dbb0845ae5038
# Ruby
https://qiita.com/Hashimoto-Noriaki/items/f406bcfb00e79e3937d0
# PHP
https://qiita.com/miriwo/items/2c2aa77d5de66c074ec5
# Java
https://qiita.com/takahirocook/items/05bfe37bb4ba64f3a78e
# JavaScript
https://qiita.com/kaz7991/items/7f98cc17c4df9ab6a009
# Perl
https://perlzemi.com/
使用中のLaravelのバージョンを確認するコマンド
“`
php artisan –version
“`
または
“`
php artisan -v
“`
LaravelのJetstreamで新規ユーザ登録時のデフォルトチームを指定する
## 前提条件
– Laravel8.x
– Jetstream Team版導入済みTeamを事前に複数作成しておいてください
以下を編集します。
app>Actions>Fortify>CreateNewUser.php
“`php:CreateNewUser.php
protected function createTeam(User $user)
{
$user->ownedTeams()->save(Team::forceCreate([
‘user_id’ => $user->id,
‘name’ => explode(‘ ‘, $user->name, 2)[0].”‘s Team”,
‘personal_team’ => true,
]));}
“`を以下のようにします。
“`php:CreateNewUser.php
protected function createTeam(User $user)
標準関数で配列操作
見ました。要は正規化されていないデータ構造を結合しようという問題。
https://qiita.com/panda-chibi/items/9f5eaaed10e4a204d784
自分ならどう書くだろうか。
## foreachを使わない場合
PHPの標準関数にgroup_by的なものがあればもうちょっと簡潔に書ける気がしないでもないが、なくても難しくはない。
“`php
1, ‘name’ => ‘イワーク’, ‘place’ => ‘渓谷,洞窟’, ‘level’ => 10, ‘technique’ => ‘岩雪崩’],
[‘id’ => 1, ‘name’ => ‘イワーク’, ‘place’ => ‘砂漠,山頂’, ‘level’ => 20, ‘technique’ => ‘岩石砲’],
[‘id’ => 2, ‘name’ => ‘ハガネール’, ‘place’ => ‘鉱山,地中’, ‘level’ => 10, ‘technique’ => ‘メテオドライブ’],
[‘i
【PHP】PHPの高度な配列操作
# コード
“`PHP
1,’name’=>’イワーク’,’place’=>’渓谷,洞窟’,’level’ => 10,’technique’=>’岩雪崩’],
[‘id’=> 1,’name’=>’イワーク’,’place’=>’砂漠,山頂’,’level’ => 20,’technique’=>’岩石砲’],
[‘id’=> 2,’name’=>’ハガネール’,’place’=>’鉱山,地中’,’level’ => 10,’technique’=>’メテオドライブ’],
[‘id’=> 2,’name’=>’ハガネール’,’place’=>’丘陵,窪地’,’level’ => 20,’technique’=>’アイアンローラー’],
];
$res = [];
foreach($data as $value){
if(empty($res[$value[‘id’]])){
$result = [];
$res[$value[‘id’]] = [