我怎样才能让我的删除功能在 php 中工作

How can i make my delete function work in php

我的代码可以正常工作,但我不知道如何创建删除功能我尽力搜索了一些但它不适合此代码我仍在学习基础知识,我将非常感谢您的帮助,非常感谢你

<?php

$straw = [];
$index = 0;

class Fruit {

    private $name;
    private $color;

    public function describe($name, $color) {
        $this->name = $name;
        $this->color = $color;
    }

    public function intro() {
        echo "{$this->name}"."\n";
        echo "{$this->color}"."\n";
    }
}

// Strawberry is inherited from Fruit
class Strawberry extends Fruit {
  
    public function getfruit() {
        echo $this->intro();
    }

    public function assignfruit($name, $color){
        $this->describe($name, $color);
    }

    public function deletePatient($index){
        unset($this->intro[$index]);
    }
}

$strawberry1 = new Strawberry();
$strawberry1->assignfruit("Strawberry", "red");
$straw[$index] = $strawberry1;
$index++;

$strawberry2 = new Strawberry();
$strawberry2->assignfruit("Strawberry", "red");
$straw[$index]= $strawberry2;
$index++;

$strawberry2->deletePatient(1);

foreach ($straw as $star){
    echo $star->getfruit();
}

你好像要删除一个水果?

您将水果存储在一个名为 $straw 的数组中。所以如果你想删除一个,你需要从那个数组中删除它。

试试这个:

unset($straw[0]);
foreach ($straw as $star) {
    echo $star->getfruit();
      
}

这应该会删除数组中的第一个条目,因此也就是您的第一个水果。

删除水果的代码不应位于 Strawbery 对象内,因为 Strawbery 不应删除自身。

可以放在一些FruitServiceclass中,负责水果的创建、删除

如果您只想从数组中删除 Strawbery 对象,请使用

unset ($straw[$index])