回答編集履歴

1 追記

te2ji

te2ji score 24086

2020/01/22 00:10  投稿

test_view() で、global の test_name を echo すると表示できると思います。
`echo $GLOBALS['test_name']`
ただ、そもそも設計がおかしいのでは?
何がやりたいのかちょっと理解できていないので投げやりなサンプルですが、一般的には以下のように global を使用せず書くと思います。
```php
<?php
function test($name){
 if($name == 'store-a'){
     return 'aです';
 } elseif ($name == 'store-b'){
     return 'bです';
 }
}
function test_view(){
   $store = ["store-a", "store-b"];
   foreach($store as $val){
       echo test($val);
   }
}
test_view();
```  
 
**追記**  
関数を作らなくても配列で良いのでは?  
```php  
<?php  
$arr = [  
   'store-a' => [  
       'name' => 'aaaa',  
       'address' => '北海道○○市',  
       'phone_number' => '000-000-0000',  
       ],  
   'store-b' => [  
       'name' => 'bbbb',  
       'address' => '青森県○○市',  
       'phone_number' => '000-000-0000',  
       ],  
   ];  
 
var_dump($arr['store-a']);  
```  
```  
array(3) {  
 ["name"]=>  
 string(4) "aaaa"  
 ["address"]=>  
 string(18) "北海道○○市"  
 ["phone_number"]=>  
 string(12) "000-000-0000"  
}  
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る