【问题标题】:How can i make my delete function work in php如何使我的删除功能在 php 中工作
【发布时间】:2021-12-23 23:24:45
【问题描述】:

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

<?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();
}

【问题讨论】:

  • 删除输出
  • 对不起,如果我的解释不够清楚,

标签: php function oop inheritance


【解决方案1】:

删除水果的代码不应位于您的 Strawbery 对象中,因为 Strawbery 不应自行删除。

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

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

unset ($straw[$index])

【讨论】:

    【解决方案2】:

    您好像要删除一个水果?

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

    试试这个:

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

    这应该删除数组中的第一个条目,因此你的第一个水果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-06
      • 2018-07-17
      • 1970-01-01
      • 2011-05-06
      • 2015-11-08
      • 1970-01-01
      • 2021-07-04
      • 1970-01-01
      相关资源
      最近更新 更多