0

この配列の最初と最後のインデックスを交換してみたいと思います。

 <?php
 $their_name = array(
      'Jim'   => 'dad', 
      'Josh'  => 'son', 
      'Jamie' => 'mom', 
      'Jane'  => 'daughter', 
      'Jill'  => 'daughter'
 );
 ?>

次のようになります。

 <?php
 $their_name = array(
      'Jill'   => 'dad', 
      'Josh'  => 'son', 
      'Jamie' => 'mom', 
      'Jane'  => 'daughter', 
      'Jim'  => 'daughter'
 );
 ?>

私は昨夜、これらを使用してアレイで同様のことをしました:

$temp                   = $user_name[0];     
$user_name[0]           = end($user_name);    
$count                  = count($user_name);  
$user_name[$count-1]    = $temp;             
return $user_name;                            

これらの方法論は似ていると思います。ただし、$their_name[0]は「J」を返します。

ありがとう!

4

2 に答える 2

1

それは信じられないほど基本的なようですが、これはあなたが求めているものです:

echo $their_name['Jane'];

$their_name['Josh'] = 'son-in-law';
于 2013-01-04T16:47:30.893 に答える
1

これがあなたの特定の問題に対する潜在的な解決策です...

$their_name = array(
  'Jim'   => 'dad', 
  'Josh'  => 'son', 
  'Jamie' => 'mom', 
  'Jane'  => 'daughter', 
  'Jill'  => 'daughter'
);
// rewind array pointer to first element
reset($their_name);
// get key name
$firstKey = key($their_name);
// get value and remove from array
$firstValue = array_shift($their_name);

// advance pointer to last element 
end($their_name);
// get key name
$lastKey = key($their_name);
// get value and remove from array
$lastValue = array_pop($their_name);

// first element using last key and first value
$firstElement = array($lastKey => $firstValue);
// last element using first key and last value
$lastElement = array($firstKey => $lastValue);

// add them to the remaining elements 
$their_name = $firstElement + $their_name + $lastElement;

var_dump($their_name);
// Result:
array(5) {
    ["Jill"]=>
    string(3) "dad"
    ["Josh"]=>
    string(3) "son"
    ["Jamie"]=>
    string(3) "mom"
    ["Jane"]=>
    string(8) "daughter"
    ["Jim"]=>
    string(8) "daughter"
}
于 2013-01-04T18:34:01.053 に答える