繁体   English   中英

我怎样才能让我的删除功能在 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 不应删除自身。

它可以放在一些 FruitService 类中,该类可以负责创建和删除水果。

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

unset ($straw[$index])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM