%allarray内の'あああ'を表示させたいのですが、
foreach構文で回して
if($name eq "$allarray{$key}"){
$TopName=$allarray{$key};
}
とその都度してから$TopNameで表示させるのがだるいので下記のように無名変数へハッシュを代入して取り出せないかと試行錯誤しているのですが、解決に至るアドバイスなど頂けませんでしょうか
$name='aaa';
%allarray = (
'aaa' => 'あああ',
'kakaka' => 'かかか',
'sasasa' => 'さささ',
);
$mumei=\%allarray;
$TopName=$mumei{$$allarray}{$name};
print "$TopName";
で
>あああ
と表示させたいのです
お忙しいかとは存じますがよろしくお願いします。
No.3ベストアンサー
- 回答日時:
他の皆さんと同じでなぜforeachでループさせたくないのかがまったく
分かりませんが(というより何をしたいのか自体分かりませんが)。
上記なら
$name='aaa';
%allarray = (
'aaa' => 'あああ',
'kakaka' => 'かかか',
'sasasa' => 'さささ',
);
$TopName = $allarray{$name};
print $TopName;
exit;
と変わりませんよね?
(ループさせる意味自体がない)
特定の値を代入しているハッシュキーを取得したいなら
my $name='あああ';
my %allarray = (
'aaa' => 'あああ',
'kakaka' => 'かかか',
'sasasa' => 'さささ',
);
my $TopName;
while(my ($key, $value) = each(%allarray)) {
if($name eq $value) {
$TopName = $key;
last;
}
}
print $TopName;
exit;
こうなんですけどね。
whillなりforeachでループさせなくても、$allarray{$name}とする事で特定のkeyに対する値を取得できるんですね。
恥ずかしながら、いちいちループさせないと取得できないのかと思っていました。
皆様、お忙しい中、ありがとうございます。
No.2
- 回答日時:
良く分からないんだけど、分からないなりに回答。
$TopName = $mumei->{$name};
$TopName = $allarray{$name};
No.1
- 回答日時:
ごめん, 何を考えているのか全く理解できない.
前の foreach の話を, もうちょっと前後を含めて (せめて foreach を入れて) 書いてくれれば, まだ推測のしようもあるんだけど....
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- PHP 文字列を段落で分ける方法を教えて下さい。 2 2023/03/09 10:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語について。
-
プログラミングについて。 1つ...
-
文字列を変数名として扱う方法
-
どなたかこのプログラミングを...
-
ネットワークループとルーティ...
-
perlでファイルの拡張子を除い...
-
VBAでの一時停止と再開の方法
-
画面を強制的に再描画させる方法
-
二次元配列のインデックスについて
-
イベントの発生を待つ
-
UWSCの終了の仕方
-
Strawberry Perl for Windows ...
-
多重ループの抜けだし方
-
Perlで<select multiple>の複数...
-
ハッシュ検索はなぜ速い
-
*(アスタリスク)の意味
-
【VBA】指定の範囲から特定の文...
-
チェックデジットについて
-
VBA横データを縦にしたいです
-
DOSコマンドのループ内のTIMEコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語について。
-
高速に文字列の比較
-
二つの変数が同じ物を指すよう...
-
@{$protocol_name}
-
CGFloatとは?
-
perlでの平均計算について
-
HTML::Templateのループと配列...
-
画面を強制的に再描画させる方法
-
VBAで3秒だけ時間を止めたい
-
VBAでの一時停止と再開の方法
-
VBのReturnの使い方
-
どなたかこのプログラミングを...
-
Escキーを押すと、中断する時と...
-
UWSCの終了の仕方
-
エクセルの当番表を作っていま...
-
VBA for i=1 to lastrow
-
「偶数・奇数の和」のフローチ...
-
VBAのautofilter、criteriaの配...
-
アクティブセルから、A列最終行...
-
DoEventsが必要な理由について
おすすめ情報