أيمن دوبابي نشر 9 مارس 2018 أرسل تقرير نشر 9 مارس 2018 قمت ببرمجة اسكربت تحويل العملات بالphp لكن تظهر في ال صفحة : Warning: explode() expects parameter 2 to be string, array given in C:\AppServ\www\dollar.php on line 18 هذا هو ملف الـ dollar.php <?php function currency($amount,$from,$to){ $amount=urlencode($_POST['amount']); $from=urlencode($_POST['from']); $to=urlencode($_POST['to']); $url="http://www.google.com/ig/calculator?q=$amount$from=?$to"; $ch=curl_init(); $timeout=0; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0(compatible;dows NT 6.1)" ); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $rawdata=curl_exec($ch); curl_close($ch); $data=explode('"', $rawdata); $data=explode(' ', $data ); $var=$data[0]; return round($var,2); //تقريب العدد الى رقمين } if(isset($_POST['convert'])) { echo currency($amount,$from,$to); } ?> <form action="<?php echo $PHP_SELF; ?>" method="post"> <input type="text" name="amount" /> from:<select name="from"> <option value="EGP">EGP</option> <option value="USD">USD</option> <option value="EUR">EUR</option> </select> TO:<select name="to"> <option value="EGP">EGP</option> <option value="USD">USD</option> <option value="EUR">EUR</option> </select> <input type="submit" name="convert" value="convert" /> </form> dollar.php اقتباس
1 Mohamed Vall Ibrahim نشر 10 مارس 2018 أرسل تقرير نشر 10 مارس 2018 الدالة explode في PHP تستقبل متغيرين كباراميتر والاثنين يجب ان يكونا نصين والرسالة تقول انك قمت باعطائها مصفوفة في الباراميتر الثاني وهذا خطأ . الدالة مهمتها هي تحويل نص الي مصفوفة حسب محدد انت تعطيه للدالة في الباراميتر الاول يكون هذا المحدد يوجد في النص . مثلا الكود التالي متغير نصي ولكن الكلمات يتم التفرقة بينهم بالرمز "," ستعطي للدالة الرمز "," في المتغير الاول والثاني تعطيها النص او الكلمات التي تريد تحويلها الي مصفوفة : $names = "one, two, three"; $names_as_arr = explode(',', $names); print_r($names_as_arr); // النتيجة // Array ( [0] => one [1] => two [2] => three ) ارجو ان يكون واضحا السبب انك اعطيت للدالة في الباراميتر الثاني مصفوفة بينما هي تتوقع نص . 1 اقتباس
0 Mohamed Vall Ibrahim نشر 12 مارس 2018 أرسل تقرير نشر 12 مارس 2018 بتاريخ On 3/11/2018 at 06:25 قال روب رات: شكرا لك فهمت ولكن كيف اصحح الخطا فانا مبتدا ارجو ان تساعدني محمد الحل اخي هو ان لا تعطي للدالة explode مصفوفة ذكرت لك سابقا ان الدالة explode تقوم بارجاع مصفوفة وانها لا تستقبل مصفوفات في الباراميترز وانما نصوص فقط وشاهد الكود الذي كتبته السطر الأول المتغير $data عبارة عن مصفوفة وانت اعطيته للدالة . $data=explode('"', $rawdata); $data=explode(' ', $data ); لا اعرف ماهي نتيجة المتغير $rawdata ولا اعرف ماذا تريد ان تفعل لذالك شرحت لك سبب الخطأ اقتباس
-1 أيمن دوبابي نشر 10 مارس 2018 الكاتب أرسل تقرير نشر 10 مارس 2018 شكرا لك فهمت ولكن كيف اصحح الخطا فانا مبتدا ارجو ان تساعدني محمد اقتباس
السؤال
أيمن دوبابي
قمت ببرمجة اسكربت تحويل العملات بالphp لكن تظهر في ال صفحة :
هذا هو ملف الـ dollar.php
dollar.php
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.