كيف يمكنني تحويل جميع القيم من مجموعة إلى تعوم في PHP?

StackOverflow https://stackoverflow.com/questions/360725

  •  21-08-2019
  •  | 
  •  

سؤال

أنا جلب مجموعة من العوامات من قاعدة البيانات ولكن مجموعة أحصل حولت القيم السلاسل.

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


تحرير:

  • أنا باستخدام الإطار زند أنا باستخدام PDO_mysql.القيم المخزنة واحد لكل عمود و هذا هو شرط لذلك أنا لا يمكن إجراء تسلسل لهم.

  • array_map('floatval', $array) يعمل فقط على واحد الأبعاد المصفوفات.

  • لا أستطيع floatval واحد العناصر عند استخدام لهم لأنه يجب أن تمرير صفيف إلى بلدي فلاش الرسم البياني.

  • لحظة, غير عامة الحل هو استخراج الصفوف والقيام array_map('floatval',$array) مع كل صف.

هل كانت مفيدة؟

المحلول

هل يمكن استخدام

$floats = array_map('floatval', $nonFloats);

هناك خيار PDO::ATTR_STRINGIFY_FETCHES ولكن من ما أتذكر, MySQL دائما كما true

تحرير:انظر علة 44341 مما يؤكد الخلية لا يدعم إيقاف stringify.

تحرير:يمكنك أيضا تعيين وظيفة مخصصة مثل هذا:

function toFloats($array)
{
    return array_map('floatval', $array);
}

$data = array_map('toFloats', $my2DArray);

نصائح أخرى

كيف يمكنك الحصول على البيانات الخاصة بك ؟ الخلية, mysqli أو PDO بعض طريقة أخرى أو حتى بعض قاعدة البيانات ؟

هل يمكن استخدام array_map مع floatval مثل ذلك:$data = array_map('floatval', $data); ولكن هذا لا يزال ينفذ حلقة وأعتقد أنه يفترض لديك فقط عمود واحد في البيانات الخاصة بك.

ربما كنت أفضل من الصب أن تطفو عند استخدام القيمة الخاصة بك, إذا كان لديك إلى.php المرجح أن القيام بعمل جيد من تفسير ذلك الحق على أي حال.

لول...هل تعمل على نفس المشروع أنا tharkun?

لقد انتهيت للتو من (الليلة الماضية) خلق شيء ، ZF القائمة على المشروع ، التي تستخدم pdo_mysql لاسترداد البيانات وتنسيقها ومن ثم إخراج أنها xml للاستخدام في فلاش قطعة.القيم التي كانت تسير في سلاسل ولكن يلزم يطفو.منذ أنا أيضا من كتب الجزء الذي يحصل على البيانات من قاعدة البيانات تأكدت فقط البيانات التي تم تحويلها إلى تعويم قبل أن ذهب إلى قاعدة البيانات.

أنا ببساطة يلقي القيم كما تطفو من التنسيق ، على ما يستحق.

protected function _c2f($input)
    {
        $input = (float)$input;
        $output = round(($input * 1.8) + 32, 2);

        return $output;
    }

غير متأكد ما تطلبه هنا ؟ يمكنك تحويل سلسلة إلى تعويم باستخدام (float) $string, ولكن منذ PHP حيوي كتبته هذا سيحدث على أي حال, عند الحاجة.لا يوجد سبب صريح المدلى بها.

ماذا تستخدم النقطة العائمة القيم ؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top