2011-05-26 14 views
10

में अप्रत्याशित $ अंत मुझे इस तरह के एक विशिष्ट प्रश्न पूछने से नफरत है, लेकिन मुझे एक त्रुटि मिल रही है जिसे मैं समझ नहीं सकता। यह एक क्रॉन नौकरी में है जो घंटे पर चलता है। मैं कार्यों की एक सरणी बना रहा हूं, जिनमें से प्रत्येक की तारीख की जांच है जिसे eval() 'd।eval() 'डी कोड

$todo = array(); 
$todo[] = array("date('z')%3 == 0", "Task 1"); 
$todo[] = array("date('N') == 1", "Task 2"); 
foreach($todo as $task) 
{ 
    if(eval($task[0])) { 
     echo $task[1]; 
    } 
} 

किसी कारण से eval() लाइन मुझे यह त्रुटि दे रही है। ध्यान दें कि मुझे यह कार्य दोनों कार्यों के लिए मिल रहा है।

Parse error: syntax error, unexpected $end in /file.php(21) : eval()'d code on line 1 

कोई सुझाव? मैंने इसकी खोज करने की कोशिश की लेकिन कुछ भी नहीं मिला। धन्यवाद।

+0

आप एक घुंघराले ब्रेस कहीं छूट रहा है: आप के साथ अपने परीक्षण में परिवर्तित करने की जरूरत है। यह पूरी लिपि नहीं हो सकती है। –

+0

नहीं, यह है। – andrewtweber

+2

मुझे कोई लापता घुंघराले ब्रेसिज़ नहीं दिख रहा है। Eval() भाग को छोड़कर, स्क्रिप्ट काम कर रहा है। – Arjan

उत्तर

21

eval केवल बयान स्वीकार करता है, अभिव्यक्तियों को नहीं।

if (eval("return $task[0];")) { 
+1

मारियो, समाधान के लिए धन्यवाद! – faramka

संबंधित मुद्दे