2016-11-02 23 views
-1

は、私はこのarrayを考えてみましょう値所望の配列項目。割り当て、配列は

$second = ['hi', 'by' => ['really' => 'yes'], 'nice'] 

どのように私はプログラム的にそれを行うことができます。 今私はこれにそれを回すしたいですか?

+0

array1にarray2値を追加するか、array1の内部にarray2を追加しますか? – whisk

+1

詳細が必要です。あなたは前もって値「バイバイ」を知っていますか?変更したいインデックス「1」を知っていますか? – AbraCadaver

+0

[あなたがこれまでに試したこと](http://whathaveyoutried.com)を表示するようあなたの質問を編集してください。問題のあるコードの[mcve]を含める必要があります。次に、特定の問題を解決するために役立つことができます。 [ask]も読んでください。 –

答えて

0

この

$first = ['hi', 'by', 'nice']; 

foreach($first as $key => $value) 
{ 
    $second[] = $value; 
    if($value == 'by') 
    { 
     $second[ $value ][] = array('really' => 'yes'); 
    } 
} 
var_dump($second); 

出力してみてください。試してみてください

array(4) { 
    [0]=> 
    string(2) "hi" 
    [1]=> 
    string(2) "by" 
    ["by"]=> 
    array(1) { 
    [0]=> 
    array(1) { 
     ["really"]=> 
     string(3) "yes" 
    } 
    } 
    [2]=> 
    string(4) "nice" 
} 
0

をこの:

$second = $first; 
$tofind = 'by'; 
$key = array_search($tofind, $second); 
unset($second[$key]); 
$second[$tofind] = array('really' => 'yes'); 
0

インデックスbyは、あなたがチェックするために、このインデックスを使用することができるよりも知られている場合、これは、非常に重要です値を新しい配列に格納しなければ、これは失敗します。

ここ

は、基本的な例である:

<?php 
$first = ['hi', 'by', 'nice']; 
$newArr = array(); 
foreach ($first as $key => $value) { 
    if($value == 'by'){ 
     $newArr[$value] = array('really'=>'yes'); 
    } 
    else{ 
     $newArr[] = $value; 
    } 
} 
echo "<pre>"; 
print_r($newArr); 
?> 

は結果:私はあなたの条件を理解していれば

Array 
(
    [0] => hi 
    [by] => Array 
     (
      [really] => yes 
     ) 

    [1] => nice 
) 
0

、実際にこれを行うために存在する多くの方法があります。これは私のものです、

<?php 
$first = ['hi', 'by', 'nice']; 
foreach($first as $k=>$v){ 
    if($v !='by'){ 
     $second[] = $v; 
    }else{ 
     $second[$v] = ['really'=>'yes']; 
    } 
} 
print_r($second); 
?>