From: Katharina W. <wol...@fh...> - 2012-10-23 08:49:14
|
Hello again, I've googled a bit after clarifying the matter for myself by writing it up for the list and found a switch-case-statement which I tried to adapt for my purposes, but this won't work: switch ($item->{'status'}) case (preg_match('/In transit\/sublibrary(\; [0-9]+\/[0-9]+\/[0-9]+)/', $item->{'status'}, $matches) ? true : false) : $availability = false; $status = translate('In transit to sublibrary'); $status = (string) $item->{'z30'}->{'z30-item-status'} . " " . (string) $status; break; Can anyone help me find out where the bug in the statement lurks? Kate Am 23.10.2012 10:17 schrieb Katharina Wolkwitz: > Hi again, > > in order to get the correct availability- and holdability-information for each > item, I've put the possible different values of $item->{'status'} in my version > of web\Drivers\AlephRestful.php into a switch-case-statement with the duedate, > which may of course be different from item to item, as the default-branch. > > So far so good, but now I'm confronted with the following value, which is > composed of a "normal unchanging part" and a changing part (duedate for this item). > > In Transit/Sublibrary; 13/07/15 > > In an earlier mail, I've had a similar problem with translating such a value, > but in that case I've circumnavigated the switch-case-statement-part (not very > elegantly) by using nested if/else-statement like this one: > > if (preg_match('/Waiting in position ([0-9]\s+) in queue; current due date > ([0-9]+\/[0-9]+\/[0-9]+)/', $type, $matches)) { > > Since I'm not happy with the depth of the nested statements of the earlier > problem and since I need to get the value above into my already existing > switch-case-statement I wonder if and how to use a similar preg_match-statement > in the switch-case-statement? > > Kate |