[過去ログ] くだらねえ質問はここに書き込め! Part 245 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
923: 2021/11/05(金)23:44 ID:qs6OKevZ(3/3) AAS
ハッシュならリンクで繋いでるだけだから…
そんなのはMap(連想配列)の実装構造によるもので、どこまで順序保証するかも言語やライブラリの仕様による
単に連想配列の列挙で順序が保証されないことは不思議なことではないというだけ
phpはコンテナとして連想配列しか用意されてないだけ
924: 2021/11/05(金)23:58 ID:cJdbB2O/(2/2) AAS
>>921
pythonの昔バージョンは順序を保持しなかったが、
比較的新しいのは保持するようになっているからな。
bashのような古典スクリプトは昔ながらの順序を保持ない連想配列のままなんだろう
925: 2021/11/06(土)01:41 ID:YFQx6gi4(1) AAS
Rubyでは、Hashの要素数が増えていくと、再編成される

バケット数は、2の累乗付近の素数を使う。
つまり、倍々に増やしていく
8+3, 16+3, 32+5, 64+3, 128+3, 256+27, 512+9...

1つのバケットには、平均して5つの要素を入れる(衝突)。
11*5=55, 19*5=95, 37*5=185...

つまり要素数が、56, 96, 186...個になると、
バケット数を増やして、再編成する

普段、1万個の要素を追加するのに、8msかかるが、
再編成するタイミングでは、20msかかる。
省10
926
(1): 2021/11/06(土)09:21 ID:9fuQqkoH(1) AAS
>>922
> phpは、そもそも、hashがなくて、全部配列だから、普通じゃないんだよ
確かに普通じゃないわ…
$array[3] = 'あ';
$array[2] = 'い';
$array[1] = 'う';
$array[0] = 'え';
foreach($array as $key => $value){
print $key . ":" . $value . <br />";
}
省5
927: 2021/11/06(土)10:18 ID:Au2x2mqq(1/15) AAS
Python 3.8.10 (default, Sep 28 2021, 16:10:42)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>for k,v in {3:'あ',2:'い',1:'う',0:'え'}.items():
... print(f'{k}:{v}')
...
3:あ
2:い
1:う
0:え
省2
928
(1): 2021/11/06(土)11:47 ID:s3BWYmEt(1/2) AAS
UbuntuのIPアドレスを固定設定でき、コマンドで192.168.50.2にセットしたこととapache2を起動したことを確認できたのですが
ネットワーク内の他の端末で192.168.50.2にアクセスすると接続を拒否されてしまいます。
pingでは応答があるので、アクセスができないわけでは無いと思うのですが
この場合どのような原因が考えられますでしょうか?
929: 2021/11/06(土)11:48 ID:s3BWYmEt(2/2) AAS
あ、今書き込んでるスマホでは行けました
多分アクセスしてるPCの設定が悪いと思うんですが……
930
(1): 2021/11/06(土)12:17 ID:gMWCsDzq(1) AAS
PCのOSがWindows10で、接続ってのがsambaとかネットワークコンピュータとかその類なら、
PCでSMBv1を有効にしてみてはどうか
931: 2021/11/06(土)12:17 ID:VD0TQjvO(1/19) AAS
>>926
だから、phpって、hashがないじゃん、arrayって配列でしょ
連想配列 = hash とも限らないよ
ってだけ

普通じゃないってのは
よそじゃ、hashだ、mapだ、dictionaryだって型があんだよ
私は、割りとPHP好きなんで、誤解しないでくださいね
当然、その動き前提でコード書きますわ
932
(1): 2021/11/06(土)12:25 ID:Au2x2mqq(2/15) AAS
phpは連想配列しかない...好きな言語なら少しは勉強しろ
933: 2021/11/06(土)12:29 ID:VD0TQjvO(2/19) AAS
>>932
そうなの
でもそれ、hashじゃないんでしょ?
934
(1): 2021/11/06(土)12:38 ID:Au2x2mqq(3/15) AAS
一般には
外部リンク:ja.wikipedia.org
の抽象データ型にある分類

この中のマップが連想配列に該当する
外部リンク:ja.wikipedia.org

hashと言ったときはhashtableが想定されるが、それ以外はどれも同じ抽象データ型を表す用語
外部リンク:ja.wikipedia.org
935
(3): 2021/11/06(土)12:51 ID:FTVEcMyp(1) AAS
>>930
単純にwin11のChromeに外部リンク:192.168.50.2って入力しました
手元にある書籍ではこれでデフォルトのapacheのページが表示されるとあるんですが、表示されずに接続が切断されましたと表示されます。
そのSMBv1というのは設定してみます。
936
(1): 2021/11/06(土)13:00 ID:Au2x2mqq(4/15) AAS
phpのコードを昔追ったときの記憶だけど、zendエンジンは基本hashを使いまくっているので多分実装はhashtableだと思う
全ては追ってないので確証はない
参考リンクはこちら
外部リンク[html]:www.phpinternalsbook-ja.com
外部リンク[html]:www.phpinternalsbook.com
外部リンク[html]:www.phpinternalsbook.com (まだ内容がない)
937: 2021/11/06(土)13:24 ID:VD0TQjvO(3/19) AAS
>>934
なるほど、勉強になります
Wikiの連想配列のPHPのところに、配列と連想配列の区別がありません
ってかいてあるね

>>936
PHPのフレームワークとか、連想配列使いまくりだよ
むしろ、使わなかったら何もできないレベルで使いまくりだから
体に染み付いちゃう

でも
いい質問だったね、私でも絶対ハマってた
省4
938
(1): 2021/11/06(土)13:30 ID:Au2x2mqq(5/15) AAS
zendエンジンはphp本体が使っているフレームワーク
939: 2021/11/06(土)13:33 ID:nhI8Ym1c(1) AAS
>>935
ポート番号もしくはHTTPSの問題かも
外部リンク:192.168.50.2:80
ではどう?
940: 2021/11/06(土)13:36 ID:Au2x2mqq(6/15) AAS
>>935の件はいろいろ原因なんてありすぎて列挙できない
名前解決で間違ってればsmbも関係する可能性がないわけではない(IPなので難しいけど)
プロキシ
ファイヤーウォール
ルーティング
ブロードキャスト
名前解決
辺りが関係しそうだけど知らん
941: 2021/11/06(土)14:14 ID:VD0TQjvO(4/19) AAS
>>938

PHPの中身の話しか
ちょっと読んで見たけど、順序保持するって書いてあったね
こんな資料まで公開されてんだ
今度、真似してみっかな
Qtにも、コレほしい
942
(2): 2021/11/06(土)14:21 ID:Au2x2mqq(7/15) AAS
順序保持はphpのユーザーマニュアルにも普通に書いてる
外部リンク[php]:www.php.net

何を見てるのか知らんけどキュートにもある
外部リンク[html]:doc.qt.io
外部リンク[html]:doc.qt.io
1-
あと 60 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.144s*