2011-12-17 13 views
0

以下のスクリプトでは、配列の先頭に値 ""のアイテム "None"を追加する必要があります。配列の先頭に項目を追加するにはどうすればいいですか?

私はこれを行うには以下の$ addFonts配列を使用していますが、選択メニューに "Array"として追加されています。私は何が欠けていますか?

$googleFontsArray = array(); 
$googleFontsArrayContents = file_get_contents('http://phat-reaction.com/googlefonts.php?format=php'); 
$googleFontsArrayContentsArr = unserialize($googleFontsArrayContents); 

$addFonts = array(
'' => 'None' 
); 

array_push($googleFontsArray, $addFonts); 

foreach($googleFontsArrayContentsArr as $font) 
{ 
    $googleFontsArray[$font['css-name']] = $font['font-name']; 
} 
+0

これは、ある時点で文字列に変換されているため、 'Array'としか表示されません。上記のコードは何もありません...' $ googleFontsArray'はどのように見えますか? – DaveRandom

+0

array( "" = "None"、 "Abel" => "Abel"など) – RegEdit

+0

あなたは ''配列の先頭まで 'と言っていますが、配列の実際の位置は無関係ですルックアップテーブルのような連想配列を作成しています。この場合、@ Foxの答えはおそらくあなたが望むものです。実際には、 'array_merge()'と '$ googleFontsArray'の最初の引数として' $ addFonts'を2番目に渡すと、それはやはり最初になります。もう一つのポイントは、注文が重要な場合は、アルファベット順に並べ替えたいと思う可能性が高いということです。その場合は、['ksort()'](http://php.net/ksort)するだけです。 – DaveRandom

答えて

1

はちょうどこの配列は連想である

$googleFontsArray['None'] = ''; 

であるべき。

0

おそらく、あなたは

array_merge($googleFontsArray, $addFonts);

を使いたいですか?

2

チェックアウトarray_unshift()。ほとんどの人が連想配列を使用した場合のペアの位置は、重要であるようにすること、悪い習慣を検討することを

$a = array('Foo' => 42); 
$a = array('None' => null) + $a; 

注:

0

あなたは加算演算子を使用することができます。これはPHPのためにユニークです - 他の言語はベクトル(非連想配列)またはハッシュマップ(連想配列)のいずれかを持っています。

1

配列の最初の要素を追加します。

array_unshift() 
$sampleArray = array("Cat", "Dog"); 
array_unshift($sampleArray ,"Horse"); 
print_r($sampleArray); // output array - array('horse', 'cat', 'dog') 

最初の要素を配列から削除します。

array_shift()