اذهب إلى المحتوى

السؤال

نشر

سلام عليكم

على سبيل المثال 

المتغير التالي

 $s = $data_to_go[$obj->fk_employe]['totaldayspresent'];

حين اقوم بطباعته كالتالي

echo $s.'<br>';

تكون النتيجة 
 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

انا مش عاوز من الكلام ده غير النتائج فقط
يعني في المثال السابق النتيجة 21

 

اجيب الرقم ده ازاي
جربت count ما ظبطتش

Recommended Posts

  • 0
نشر

من خلال النظر للكود الخاص بك فالمتغير $s يحتوي على مصفوفة أو قائمة وأن القيم المطبوعة هي عناصر هذه القائمة. 

 للحصول على عدد العناصر في هذه القائمة، يمكن استخدام الدالة count() وتطبيقها على القائمة الموجودة في $s. ولتحديد القيمة الأخيرة في القائمة، يمكن استخدام دالة end() للحصول على القيمة الأخيرة في القائمة.

لذلك، يمكن استخدام الكود التالي للحصول على عدد العناصر في القائمة والقيمة الأخيرة في القائمة:

$count = count($s); // للحصول على عدد العناصر في القائمة
$last_value = end($s); // للحصول على القيمة الأخيرة في القائمة
echo $last_value; // سيتم طباعة القيمة الأخيرة في القائمة (في هذه الحالة هي 21)

 

  • 0
نشر

هناك عدة أسباب محتملة لعدم عمل الدالة count بشكل صحيح، منها:

1- قد يكون المتغير $data_to_go ليس من النوع الصحيح للعمل مع الدالة count، فهي تعمل فقط مع المصفوفات (arrays).

2- قد يكون الفهرس المستخدم في المصفوفة غير صحيح، وبالتالي يتم إرجاع قيمة غير صحيحة.

3- قد يكون هناك خطأ في الكود الذي يسبب تعطل عمل الدالة count.

لذلك، يجب التأكد من أن المتغير $data_to_go هو من النوع الصحيح (مصفوفة) وأن الفهرس المستخدم في المصفوفة صحيح، كما يجب فحص الكود بشكل دقيق للتأكد من عدم وجود أخطاء. قد يساعد استخدام دالة var_dump لفحص قيمة المتغير والتأكد من صحتها.

في حالة استمرار المشكلة يمكنك استخدام sizeof() بدلاً من ذلك للحصول على عدد العناصر في المصفوفة.

على سبيل المثال:

$s = $data_to_go[$obj->fk_employe]['totaldayspresent'];
echo sizeof($s);

إذا لم تعمل sizeof() أيضًا، فربما يتعين عليك فحص محتوى المتغير $s لتحديد السبب في ذلك.

و استخدام sizeof() سيعيد حجم المصفوفة بشكل عام وليس القيمة التي تحتويها المصفوفة. لذلك، إذا كنت تريد الحصول على قيمة محددة في المصفوفة، يجب استخدام الفهرس الصحيح لتحديد تلك القيمة. 

يمكن أيضًا استخدام دالة end() للحصول على آخر قيمة في المصفوفة. على النحو التالي:

$s = $data_to_go[$obj->fk_employe]['totaldayspresent'];
echo end($s);

ستعيد الدالة قيمة آخر عنصر في المصفوفة $s، وفي هذه الحالة ستعيد القيمة 21.

  • 0
نشر

السلام عليكم,
على ما فهمت من خلال الكود الذي قدمته أخي محمد أنك قدمت لنا ما داخل حلقة تكرارية ولهذا يطبع لك كل القيم’

و أنت تريد الحصول على القيمة الأخيرة فقط من النتائج المعروضة، وليس من المهم معرفة قيمتها الفعلية. يمكنك استخدام الشيفرة التالية للحصول على هذه القيمة:
 

// نفترض أن $data_to_go و $obj قد تم تعريفهما مسبقاً وملؤهما بالبيانات المناسبة

$last_total_days_present = null;
foreach ($data_to_go as $data) {
  $last_total_days_present = $data[$obj->fk_employe]['totaldayspresent'];
}

// عرض القيمة الأخيرة من 'totaldayspresent'
echo $last_total_days_present . '<br>'; //النتيجة في حالتك هذه ستكون 21

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...