فب: دفع إلى مجموعة قد تكون أو قد لا تكون موجودة
-
20-08-2019 - |
سؤال
وأريد إنشاء مجموعة مع رسالة.
$myArray = array('my message');
ولكن استخدام هذا الرمز، سوف myArray
الحصول على الكتابة إذا كان موجودا بالفعل.
إذا كنت تستخدم array_push
، وأنه لا وجود لها بالفعل.
$myArray = array(); // <-- has to be declared first.
array_push($myArray, 'my message');
وإلا، فإنه سيتم بينك.
هل هناك طريقة لجعل المثال الثاني أعلاه العمل، دون الأول $myArray = array();
المقاصة؟
المحلول
وتحقق مما إذا كان مجموعة موجودة أولا، وإذا لم يحدث ذلك، إنشائه ... ثم إضافة عنصر، مع العلم أن مجموعة من المؤكد أن تعرف قبل اليد:
if (!isset($myArray)) {
$myArray = array();
}
array_push($myArray, 'my message');
نصائح أخرى
وهنا:
$myArray[] = 'my message';
و$ myArray أن تكون مجموعة أو لم يتم تغيير. إذا كان يحمل قيمة والتي هي عبارة عن سلسلة، صحيح أو الكائن الذي لا ينفذ arrayaccess، وسوف تفشل.
ويجب عليك استخدام is_array ()، وليس isset. مفيدة إذا كان يتم وضع 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');