◆ PHP に連想配列みたいな方の Map がない
◆ WeakMap はあったけど PECL からインストールが必要

配列とかオブジェクトをキーにした連想配列が使いたかったのですが ググっても array_map で埋め尽くされてそれっぽいのがなさそうです
JavaScript っぽく WeakMap でぐぐってみるとあるにはありました

WeakMap

ただ これは PECL のライブラリからインストールが必要で PHP をインストールしただけの環境だと動かないです
別環境で動かそうとするたびに外部のものをわざわざ入れないとダメなのも嫌だったので 自分で Map を作ることにしました
<?php
class Map{
private $keys = [];
private $values = [];

function set($k, $v){
$index = $this->getIndex($k);
if($index === false){
$this->keys[] = $k;
$this->values[] = $v;
}else{
$this->keys[$index] = $k;
$this->values[$index] = $v;
}
}
function get($k){
$index = $this->getIndex($k);
return $index === false ? null : $this->values[$index];
}
function remove($k){
$index = $this->getIndex($k);
if($index === false){
return false;
}
unset($this->keys[$index], $this->values[$index]);
$this->keys = array_values($this->keys);
$this->values = array_values($this->values);
return true;
}
function clear(){
$this->keys = [];
$this->values = [];
}
private function getIndex($k){
return array_search($k, $this->keys, true);
}
}

PHP は機能多めだと思ってましたが 意外とこういうのがないんですね