클래스에서 배열을 반환 할 때 "정의되지 않은 변수"오류가 발생하지만 왜 이런 일이 발생하는지 이해할 수 없습니다.클래스에서 배열을 반환 할 때 "정의되지 않은 변수 오류"가 나타나는 이유는 무엇입니까?
클래스 내에서 내가 print_r($order_ids)
인 경우 문제가 없습니다. 이 문제는 클래스 외부에서 print_r($order_ids)
을 시도 할 때만 발생합니다.
클래스 함수는
function getOrderIds($start_order, $end_order) {
$conn = new Database();
$sql = "SELECT order_id FROM oc_order WHERE order_status_id = '17' AND order_id BETWEEN '$start_order' AND '$end_order'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$order_ids[] = $row['order_id'];
}
}
return($order_ids);
}
CALL
$order = new Order();
$order->getOrderIds($start_order, $end_order);
print_r($order_ids);
RESULT
Notice: Undefined variable: order_ids
누락 파일 : $ order_ids = $ 순서 -> getOrderIds의 ($ start_order, $의 end_order); //? – kmdm
함수 getOrderIds ($ start_order, $ end_order) { }를'function getOrderIds ($ start_order = null, $ end_order = null) { } '으로 변경하는 것이 좋습니다. 두 변수 중 하나가 비어있는 경우 거짓을 반환 할 수 있습니다. –