質問

私はメッセージを持つ配列を作成したい。

$myArray = array('my message');

しかし、それはすでに存在していた場合は、このコードを使用して、myArrayは上書きされます。

私はarray_pushを使用する場合は、

は、それが既に存在している必要があります。

$myArray = array(); // <-- has to be declared first.
array_push($myArray, 'my message');

それ以外の場合は、Binkのでしょう。

仕事上の第2の例を作るための方法は、最初にクリアせずに、あります$myArray = array();

役に立ちましたか?

解決

配列が最初に存在するかどうかを確認し、そうでない場合は、それを作成...その配列は確かに手の前に定義されることを知って、要素を追加します:

if (!isset($myArray)) {
    $myArray = array();
}

array_push($myArray, 'my message');

他のヒント

ここます:

$myArray[] = 'my message';

$ myarrayの配列または設定されていないことがあります。それはメソッドArrayAccessを実装していない文字列、整数またはオブジェクトの値を保持している場合、それは失敗します。

あなたはISSETない、)(IS_ARRAY使用する必要があります。 有用MyArrayというが(例えばエラーの-1)アレイまたはストリングを返す関数で設定されている場合

myarrayのは、どこか別の場所ではない配列として宣言されている場合は、

このエラーを防ぐことができます。

if(is_array($myArray))
{
   array_push($myArray,'my message');
}
else
{
   $myArray = array("my message");
}
if ($myArray) {
  array_push($myArray, 'my message');
}
else {
  $myArray = array('my message');
}

OIS」方法が動作します。

または

if (!isset($myArray)) 
    $myArray=array();
array_push($myArray, 'message');
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top