$hashtable2 = new Hashtable($arr); Debug::dump($hashtable2); // readonly collection echo "Construct as readonly\n"; $hashtable2 = new Hashtable($hashtable); $hashtable2->freeze(); Debug::dump($hashtable2->isFrozen()); try { echo "Adding Jack using []\n"; $hashtable2['new'] = $jack; } catch (Exception $e) { echo get_class($e), ': ', $e->getMessage(), "\n\n"; } try { echo "Adding Jack using add\n"; $hashtable2->add('new', $jack); } catch (Exception $e) { echo get_class($e), ': ', $e->getMessage(), "\n\n"; } try { echo "Removing using unset\n"; unset($hashtable2['jack']); } catch (Exception $e) { echo get_class($e), ': ', $e->getMessage(), "\n\n"; } try { echo "Changing using []\n"; $hashtable2['jack'] = $jack; } catch (Exception $e) { echo get_class($e), ': ', $e->getMessage(), "\n\n"; }