@Blog
日常日誌からプログラムやYOUTUBER紹介、旅日記まで日々更新中です。

配列で返して変数で受け取る事を分割代入というであってる.
2025.05.16
おはようございます.配列で返して変数で受け取る事を分割代入という…どんなコードか具体的に書いたのが下記です.
<?php
function getArray(): array {
return [10, 20];
}
[$x, $y] = getArray();
echo "x: " . $x . "\n";
echo "y: " . $y . "\n";
// 要素数が合わない場合
function getMoreArray(): array {
return [100, 200, 300];
}
[$p, $q] = getMoreArray(); // $q には 200 が代入され、300 は無視される
echo "p: " . $p . "\n";
echo "q: " . $q . "\n";
[$m, , $n] = getMoreArray(); // カンマで要素をスキップ
echo "m: " . $m . "\n";
echo "n: " . $n . "\n";
// 連想配列のようなキー指定も可能 (PHP 7.1以降)
function getAssocArray(): array {
return ['name' => '太郎', 'age' => 30];
}
['name' => $userName, 'age' => $userAge] = getAssocArray();
echo "名前: " . $userName . "\n";
echo "年齢: " . $userAge . "\n";
?>
最初、凄くこれに違和感を覚えたのを覚えています.理由はカッコカッコで括ってあるから、なんだか配列を連想するのですよね.とても便利ですけどね、因みにPHP言語でも比較的に新しいバージョンだったら使用できます.
尚、PHPバージョン7.1以下だった場合はlistを使用すると同じようなことになります.
<?php
function getArray(): array {
return [10, 20];
}
list($x, $y) = getArray();
echo "x: " . $x . "\n";
echo "y: " . $y . "\n";
// 要素数が合わない場合
function getMoreArray(): array {
return [100, 200, 300];
}
list($p, $q) = getMoreArray(); // $q には 200 が代入され、300 は無視される
echo "p: " . $p . "\n";
echo "q: " . $q . "\n";
list($m, , $n) = getMoreArray(); // カンマで要素をスキップ
echo "m: " . $m . "\n";
echo "n: " . $n . "\n";
?>
それにしても分割代入って呼び名、直ぐに忘れそう・・・.
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
```, $代, カッコカッコ, カンマ, キー指定, コード, スキップ, バージョン以下, 分割代, 分割代入, 呼び名, 変数, 太郎, 新しいバージョン, 最初, 要素, 言語, 連想配列, 違和感, 配列,

PHP言語で連想配列の指定キーにて並び替える方法.
2024.06.04
おはようございます、PHP言語で連想配列の指定キーにて並び替える方法は下記です.下記の方法を行うことにより日付キーかつ降順で並び替えを行えるようになります.よく使う関数かどうかは分からないけど頭の片隅に残しておいた方が良い気がしましたので記事にしました.
<?php
$data = [
[
'title'=>'Aタイトル',
'date'=>'2024.05.31 05:00',
],
[
'title'=>'Cタイトル',
'date'=>'2024.05.30 05:00',
],
[
'title'=>'Bタイトル',
'date'=>'2024.05.31 07:10',
],
];
$dateArray = array_column($data, 'date');
array_multisort($dateArray, SORT_DESC, $data);
var_dump($data);
因みに上記の内容(ソース・コード)を実行すると下記の結果が返ってきます.いやーarray_columnとarray_multisortの関数は良いですよね、便利です😌ということで技術共有でした.
array(3) {
[0]=>
array(2) {
["title"]=>
string(13) "Bタイトル"
["date"]=>
string(16) "2024.05.31 07:10"
}
[1]=>
array(2) {
["title"]=>
string(13) "Aタイトル"
["date"]=>
string(16) "2024.05.31 05:00"
}
[2]=>
array(2) {
["title"]=>
string(13) "Cタイトル"
["date"]=>
string(16) "2024.05.30 05:00"
}
}
明日へ続く.
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
$dateArray, array, array_column, array_multisort, Bタイトル", data, lt, php, PHP言語, quot, quot;Aタイトル", quot;date", quot;title", SORT_DESC, string, var_dump, 片隅, 連想配列, 関数,

配列を連想配列に置き換えるPHPの関数。便利すぎる😌
2023.06.11
おはようございます。配列を連想配列に置き換えるPHPの関数。便利すぎます。この関数を知ったのはつい最近の話ですが、こんな関数があるのだと知っているのと知らないとではコードの書きようが違うわけです、実際、PHPの関数を全部知っているわけではないのですが公式のドキュメントを見るといろいろな関数が存在することが分かります。
自分はあまり関数を知っているわけではないので余計なコードを書いている可能性があります、なので余計なコードを書かずに純粋な関数を使用してシンプルなコードがかければなと思います。
<?php
var_dump(array_combine([1,2,3],["one","two","three"]));
そんな自分もこの頃はPHP公式サイトのドキュメントを見ることも以前よりは増えてきています。昔は公式サイトで調べるよりググって調べることが多かったのですが、この頃は公式サイトと検索のパラメーターであるsite:URL+キーワードを使用して調べることを心がけています。あとはchatGPTを使用します。
調べるときの手順にchatGPTという選択肢があるのですが、正解ばかりの回答ではないのでやはり今の段階では補助ツールですね。いまのAIの役割は面倒くさいと思われる組み合わせのパータンを全て網羅してくれて思いがけない答えを導き出せるという所にあると自分は思っています。なので、現段階では人の回答に答えるのにはあまり向いていないのかもしれないですね。
ともあれ、知らないより知っていたほうが良い業界なので勉強ですね。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
AI, array_combine, ChatGPT, lt, php, quot;one", quot;three", quot;two", site, var_dump, ドキュメント, パータン, パラメーター, 手順, 正解, 組み合わせ, 連想配列, 配列, 関数,