2022年10月

✕ auto_collect → 自動収集?
◯ auto_correct
まさに↓の記事のタイトル通り。。。
何かつながらないと思ったらパブリックネットワーク - treedown’s Report

切り替え方はこちらを見ましたー
プライベート? パブリック? ネットワークの種類の違いと切り替え方 - いまさら聞けないWindows 10のTips - 窓の杜

まだあった盲点。
どんだけあるんだ盲点よ。
PHPのshuffle()が連想配列では使えない件について(@2011/10/7 0:12)

↓こんな連想配列があったとして、
$AmericanLeagueEastDivisionTeams = array(
'BAL' => array('city' => 'Baltimore', 'name' => 'Orioles'),
'BOS' => array('city' => 'Boston', 'name' => 'Red Sox'),
'NYY' => array('city' => 'New York', 'name' => 'Yankees'),
'TB' => array('city' => 'Tampa Bay', 'name' => 'Rays'),
'TOR' => array('city' => 'Toronto', 'name' => 'Blue Jays'),
);

shuffle()してみると…
shuffle($AmericanLeagueEastDivisionTeams);
var_export($AmericanLeagueEastDivisionTeams);

↓結果(見やすいように整形済み)
array (
0 => array ('city' => 'Boston', 'name' => 'Red Sox'),
1 => array ('city' => 'Toronto', 'name' => 'Blue Jays'),
2 => array ('city' => 'New York', 'name' => 'Yankees'),
3 => array ('city' => 'Tampa Bay', 'name' => 'Rays'),
4 => array ('city' => 'Baltimore', 'name' => 'Orioles')
)

はい。キーが破棄されて、数字キーに割り当て直されちゃいます。

じゃあ、array_rand()でランダム順のキーを取得しよう、と思った。

$len = count($AmericanLeagueEastDivisionTeams);
$abbrs = array_rand($AmericanLeagueEastDivisionTeams, $len);
var_export($abbrs);

↓結果
array (
0 => 'BAL',
1 => 'BOS',
2 => 'NYY',
3 => 'TB',
4 => 'TOR',
)

よし、この「キーがランダム順に入った配列」を使おう。
…あれ?並べ変わってなくね?
たまたまかな(^o^;

再実行→やっぱりおんなじ→再々実行→やっぱりおんなじ→(無限ループ)
全件取得する場合は並べ換えて紅の豚?
マニュアルに書いといてよ。そんなこと。。

まあ、array_keys()を使ってそれをshuffle()すれば同じ事はできるか。

$abbrs = array_keys($AmericanLeagueEastDivisionTeams);
shuffle($abbrs);
var_export($abbrs);

↓結果
array (
0 => 'NYY',
1 => 'BOS',
2 => 'TB',
3 => 'BAL',
4 => 'TOR',
)

当然ながらうまくいく。再実行すればまた並び変わる。

せっかくだから、関数化しておくか。
PHPオリジナルの命名則にあわせて、ashuffle()と名付ける(※)。
オリジナルのshuffle()が並べ替えが成功したかどうかを返しているので、とりあえずtrueを返すことにする。

function ashuffle(&$array) {
$keys = array_keys($array);
shuffle($keys);

$res = array();
for ($i = 0, $_l = count($keys); $i < $_l; $i++) {
$res[$keys[$i]] = $array[$keys[$i]];
}

$array = $res;
return true;
}

これで、

ashuffle($AmericanLeagueEastDivisionTeams);

$rank = 0;
foreach ($AmericanLeagueEastDivisionTeams as $abbr => $team) {
printf("%d: %s %s (%s)\n", ++$rank, $team['city'], $team['name'], $abbr);
}

↓結果
1: New York Yankees (NYY)
2: Baltimore Orioles (BAL)
3: Tampa Bay Rays (TB)
4: Boston Red Sox (BOS)
5: Toronto Blue Jays (TOR)

成功。


※:蛇足。
この記事を書く時に、そういえば、もうすでに誰かが作ってるよな。"ashuffle()"って名前で。
っと思ってググってみたら、どうやら無いみたい。。
ってことは、このページがひっかかるようになるんだ。ウシシ( ̄ー ̄)
なんか、シレッと告知されている。
2022年12月検針日以降(中略)燃料費調整額の算定に用いる燃料費調整単価の上限価格を廃止する


ドコモでんきでは、燃料費調整単価の上限価格が設定されていて、一定額以上にはならない仕組みだった。これが撤廃されることによって、電気代がグーンと、ぐぐぐーーーんと上がることになる。
上記記事に、もし10月の電気代の上限額をなくしたら差額はいくらか、という目安が載っている。
300kw使用した場合で、大きいところ(中国地方)では2,500円も上がるのだそうだ。
10月にして、この差額。。。
これから冬になり燃料価格はもっと上がるというのに。
戦争のせいでもっともっと上がるというのに。

こんな重大な内容のお知らせなのに、他のお知らせには付いている「【重要】」を付けないって、どういうつもり?
そりゃ、ドコモでんきさんにとっては無関係なんでしょうよ。儲けが増えたり減ったりしないもんね。
でも、ユーザーにとっては重大事ですよ。
ユーザーに寄り添う気持ちが一切ない、自分の利益しか考えてないことの現れですね。さすがの殿様商売っぷり。。

いやいや間違えた。無関係じゃないね。高くなるなんてユーザーに知られたら解約されちゃうもんね。
本当はお知らせしたくないお知らせなんだよね。なるべくなら読まないでー、って思いながら出したんですね。

ともかく、

 さ よ う な ら、ドコモでんき。


(あまりドコモ様を悪く言うとマズいことになりそうだし、フォローしておくか)
『ドコモ悪くないよ。全部戦争が悪いyo